일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OpenGL
- Kaggle
- 컴퓨터 그래픽스
- logistic regression
- CNN
- 컴퓨터 비전
- 백준
- 딥러닝
- Computer Vision
- cs231n
- recommender system
- Vision
- 인공지능
- SVM
- Regularization
- C++
- CPP
- 추천 시스템
- 신경망
- 비용함수
- 파이썬
- neural network
- pre-trained
- 그래픽스
- Support Vector Machine
- petal to metal
- Unsupervised learning
- SGD
- 로지스틱 회귀
- 머신러닝
- Today
- Total
목록graphics VR AR/OpenGL (4)
kwan's note
순서: Phong lighting, light sources, fragment shader 구현 Phong Lighting 라이팅을 위해서는 물체와 광원의 상호작용(BRDF)에 대한 정확한 계산을 필요로 하는데 이를 rasterization graphics에서 정확하게 표현하는것에는 한계가 있다. 이에 따라 여러가지 lighting 모델들이 존재하는데 그중에서 극단적으로 단순화 시키면서도 최소한의 퀄리티를 보이는 lighting model이 바로 phong 모델이다. phong model은 물체를 표현하는 색상을 네가지로 나누어 계산하는데 1. ambient light 2. diffuse light 3. specular light 이다. 여기에 빛을 발산하는 경우에 더해지는 4. emissive ligh..
opengl super bible 6판을 읽고 작성하였습니다. opengl에서 uniform은 vertex별로 다른 값을 갖는 attribute와 다르게 전체 primitive에게 동일하게 적용되는 속성을 말한다. shader에서는 이러한 변수 선언시 uniform변수를 넣는것으로 선언이 가능하다. vertex shader에서 uniform의 값을 바꾸는것은 불가능하지만 선언은 할 수 있다. 그렇다면 이런 uniform은 언제 사용될까? 가장 일반적인 사용처는 변환행렬이 될 것이다. 하나의 모델에게 공통적으로 적용되는 값이기 때문이다. 즉 model view projection matrix가 이러한 uniform으로 선언된 변수를 통해 전달된다. c++프로그램 내에서 uniform은 glUniform*을..
opengl 데이터는 버퍼를 통해서 저장을 한다. 그중에서도 vertex에 대한 정보 저장을 이해하기 위해서는 vao와 vbo가 어떻게 만들어지고 사용하는지 이해해야 한다. 이런 데이터는 cpu가 아닌 gpu의 vram에 저장되어 병렬처리하므로 빠르게 화면에 랜더링할 수 있다. VAO (Vertex array object),VBO(vertex buffer object)에 대해서 살펴보면 VBO는 그래픽카드의 vram에 저장되는 데이터로 하나의 vertex들에 대한 정보들이 들어간다. 예를들어 vertex의 위치, vertex의 색상, vertex의 normal정보등이 이러한 vbo에 해당한다. VAO는 여러개의 VBO를 담을 수 있다. 즉, 어떠한 오브젝트에 대한 정보를 저장하는데 사용된다. VBO에 저..
출처: The Cherno https://www.youtube.com/playlist?list=PLlrATfBNZ98foTJPJ_Ev03o2oq3-GGOS2 OpenGL www.youtube.com OpenGL은 그래픽스 표준 API 규격으로 90년대초에 시작된 2차원, 3차원 그래픽 프로그래밍중 가장 일반적이면서 간단한 표준입니다. 현재 4.6버전이 가장 최신 버전으로 짧게는 수개월에서 몇년에 한번 출시를 합니다. OpenGL은 라이브러리나 엔진, 프레임워크가 아닌 표준 API의 규격(specification)입니다. 즉, opengl은 어떠한 코드들이 아닙니다. opengl를 이용한 구현은 각 graphics processing unit의 제조사의 드라이버에 구현이 되어 있습니다. 예를들어 rtx 2..