게시글
질문&답변
2022.06.15
this->_cmdListptr_ 이 nullptr
커맨드 리스트 객체 생성이 제대로 안된 것 같아요. 내부적으로 커맨드 리스트 객체가 커맨드 알록 객체를 가리키고 있어야 해요.
- 0
- 2
- 351
질문&답변
2022.03.28
Orthographic Projection행렬과 Perspective Projection행렬의 차이점에 대해서..
(사진) 위 그림에서 보시다시피 clipping을 위해 unit cube로 변환해주는 과정에서 depth값을 왼편의 근거리와 원거리 좌표에 해당하는 (n, f)을 오른편의 (-1, 1) 좌표로 변환해주게 됩니다. 즉, 이 좌표는 depth값에 해당하고 이 과정은 rasterization 단계가 아닌 clipping 단계에서 이루어지게 됩니다. Rasterization 단계에서는 이렇게 변환된 '논리적' 좌표값들을 디스플레이의 스크린을 구성하는 픽셀들의 '물리적' 좌표로 mapping하는 작업을 합니다. [이미지 출처: http://www.songho.ca/opengl/gl_projectionmatrix.html]
- 0
- 2
- 460
질문&답변
2022.03.19
w로 나눠 주는건 그냥 규칙인 건가요?
애초에 우리가 사는 세상은 3차원 공간인데 SRT 좌표변환(scale, rotation, translation)등에 왜 3x3 행렬(3차원 행렬)이 아니라 4x4 행렬(4차원 행렬)을 사용할까 고민해 볼 수 있어요. 가장 큰 이유는 3차원 행렬 곱으로는 translation을 할 수가 없기 때문입니다. 왜냐하면 아무리 원점에 해당하는 (0,0,0) 벡터값에 행렬 곱을 적용해도 (0,0,0)으로 고정되게 돼요. 그래서 하나의 차원을 추가해서 행렬 계산을 하게 된거죠. 어떻게 보면 계산 트릭이라고 볼 수도 있겠네요. Geometry Processing 스테이지를 지나서 Rasterization 스테이지에 진입할 때는 다시금 원래의 자연스런 형태의 데이터로 변환해주는 거라고 보시면 될 것 같습니다. 그래서 4번째 좌표값인 w을 1로 normalize하는 것입니다.
- 0
- 1
- 226