
1. Indexed Draw의 컨셉Indexed Drawing의 컨셉은 간단하다.다음의 도형을 하나하나 그리려면 다음과 같이 3 * 3 = 9개의 vertex data 저장이 필요할 것이다.그 다음 [0,1,2], [3,4,5], [6,7,8] 이렇게 primitive들을 구성하여 그릴 수 있을 것이다.하지만 실제로 vertex는 6개이기 때문에 9개의 vertex에 대한 데이터를 저장하는 것은 낭비가 된다.이는 자연스럽게 그릴 데이터가 커지면 그 낭비 또한 커지게 되는 결과가 나타난다.따라서 정말 필요한 6개의 vertex data만 저장하고 그를 통해 도형을 그릴 방법이 필요하다.이건 매우 간단한 아이디어로 해결할 수 있다.그냥 각 6개의 vertex에 대해 index를 붙인 다음, 도형을 그릴 때 ..

0. 개요opengl에서 uniform variable을 이용하여 띄운 삼각형의 위치를 계속 바꾸어본다.1. Uniform Variable이란Uniform Variable은 전역 셰이더 변수다.각 shader stage별로 값이 변하지 않기 때문에 uniform이라는 이름이 붙었다.shader 내부에서 값을 변경할 수는 없고 선언 및 이용만 할 수 있다.값 변경은 C++ 코드 사이드에서 진행한다.2. Uniform Variable의 이용 흐름다음과 같은 큰 흐름을 따른다.셰이더 내부에서 Uniform Variable의 선언Uniform Variable의 location 가져오기Uniform variable에 접근하여 값 변경하기여기서는 uniform variable을 이용하여 삼각형을 translate ..

[그래픽스] Hello Triangle - OpenGL에서 삼각형 띄워보기0. 개요opengl(GLEW/GLFW)을 이용하여 간단하게 빨간 삼각형을 띄워본다.이 글에서 커버하는 지식 범위는 다음과 같다.무식한 방식으로의 vertex/fragment shader 생성 및 컴파일VBO/VAO 다루기완성된 코드를 바로 보고 싶다면 아래의 repo를 바로 참고해도 된다.https://github.com/9ru9ru/open-gl-course/blob/ch1-tello-triangle-fix-tab/runtime/section02/FirstTriangleRunner.cpp1. 삼각형을 띄우기 위한 work-flow 개략다음과 같은 work-flow로 삼각형을 띄워보자.GLFW 초기화 및 셋업 / GLEW 초기화 ..

이 장에서는 Rendering Pipeline(RP)의 개요와 RP에서 Shader의 활용을 알아본다.개요 단계의 내용이고 매우매우 자세한 내용은 없다.RP의 하나 하나 단계는 그 자체만으로도 매우 깊은 단계이기 때문에 너무 자세한 이야기는 생략하도록 한다.1. RP의 개념1.1. RP의 정의렌더링 파이프라인은 3D 모델을 스크린에 render 하기 위한 stage들의 모음이다.이 중 4개의 단계는 ‘Shader’를 통해 프로그래밍 할 수 있다.이 Shader는 보통 GLSL/HLSL 등의 언어를 통해 작성된다.그렇다면 이 RP가 어떤 stage들로 구성되어 있는지 알아보자.1.2. RP의 StageRP는 다음과 같이 9개의 stage로 구성되어있다.정리해보면 다음 순서로 각각의 역할을 수행한다. 앞에 ..

이 글에서는 GLFW와 GLEW를 이용하여 창을 띄워볼 것이다.환경 셋업에 대한 것은 아래의 글을 참고.https://hezma.tistory.com/120완성된 코드를 바로 보고 싶다면 아래 repo를 참고하면 된다.https://github.com/9ru9ru/open-gl-course/blob/ch0-ready-fixed/runtime/section01/Section01Runner.cpp커버하는 지식 범위는 다음과 같다.간단한 OpenGL의 work-flow기본적인 API들이 글을 통해 달성할 목표는 다음과 같다.GLFW와 GLEW의 초기화 및 환경 셋업.800x600으로 빨간색 만을 출력하는 윈도우 띄우기.1. Window를 띄우기 위한 work-flow 개략간단하게라도 어떤 work-flow로 ..

이 글에서는 다음의 개념들에 대해 다룬다.OpenGL의 개념과 특징GLFW의 개념GLEW의 개념1. OpenGL 개요코드를 다소 사용해보기 전까지는 OpenGL에 대해 라이브러리라고 생각하고 있었다.그러나 OpenGL은 구체적인 하나의 라이브러리가 아니다.어떤 규격으로 어떻게 동작해야 하는지를 정해놓은 규격서, 사양에 가깝다.즉, 함수 시그니처와 작동 방식 등을 설명한 API 규격서로 생각할 수 있다.OpenGL의 라이브러리를 실제로 개발하는 주체는 일반적으로 그래픽카드 제조 업체다.AMD, Apple, NVidia 등 다양한 그래픽 제조 업체가 이를 개발하고 있고 따라서 OpenGL의 구현도 하나가 아니다. 이렇게 구현된 게 그래픽 카드에 포함되어 있다.2. State MachineOpenGL 자체는 ..

C++ OpenGL(GLEW/GLFW) 개발환경 구축C++을 통해 OpenGL을 개발할 수 있는 환경 구축에 대한 글이다.라이브러리 쓰고 싶은데 C++ 환경에서 라이브러리를 쓸 줄 몰라서 관련 지식도 함께 정리해놓았다.실제 구축을 어떻게 했는 지 알고 싶으면 2번 항목만 봐도 된다.아니면 다음 repo를 둘러봐도 된다.https://github.com/9ru9ru/open-gl-course/tree/ch0-ready-fixed0. 개요이 글에서 커버하는 지식 범위는 다음과 같다.C 환경의 대략적인 빌드 과정C 환경에서 정말 기초적인 라이브러리 지식라이브러리를 링크하고 빌드하기 위한 기초 CMake 사용법이 글을 통한 수행할 목표는 다음과 같다.mingw/Cmake 이용한 빌드 및 개발 환경 셋업.(IDE..

1. 문제 상황 분명히 내 윈도우 데스크톱에서는 이미지를 지웠는데 Mac의 Git에서는 관련 파일이 트래킹되는 문제가 있다. 아래와 같이 Menu 폴더 밑에 대부분의 이미지들을 지웠다. 그런데 내 맥북에서는 그걸 풀 받아도 해당 파일들이 남아있는 문제가 보였다. 게다가 해당 자산~ 파일들에 대한 meta 파일들은 추적이 또 된다... 이미지는 추적이 안 되는데. 2. 원인 알아보니 Mac에서는 *한글 이름으로 된 * 파일 저장시 파일명의 자소가 분리되어 제대로 Tracking되지 않는 문제가 있는 것 같다. 따라서 Mac에서 파일을 추가했을 때, 그걸 지워도 그 파일을 지웠다고 추적되지 않았음. -> 따라서 Mac에서 아무 세팅을 하지 않은 채로 한글명 파일을 추가해버리면 안된다. 아래에 동일한 문제를 ..
- Total
- Today
- Yesterday
- 머신러닝
- gradient descent
- 자연어 처리
- ML
- 매트랩 함수
- 순환 신경망
- 이미지
- NLP
- 이산 신호
- Logistic Regression
- 이미지처리
- Andrew ng
- 연속 신호
- 밑바닥부터 시작하는 딥러닝
- 컴퓨터과학
- 머신 러닝
- 영상구조
- 인덱스 이미지
- CS
- CNN
- RGB이미지
- 매트랩
- 신호 및 시스템
- rnn
- 사진구조
- 컴퓨터 과학
- 영상처리
- 딥러닝
- Neural Network
- 신경망
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |