Projection Transform
View Frustrum 공간을 2*2*2 공간으로 변환하는 것을 의미한다
perspective projection (원근 투영)
Projection Transform을 하게 되면
멀리 있는 물체는 작아지고
가까이 있는 물체는 커지면서 원근 투영이 적용된다
그리고 해당 변환은 affine 변환의 특징인 평행의 속성이 유지되지 않기에
마지막 행에 (0, 0, 0, 1)이 고정되지 않는다
Projection Matrix
Projection Matrix는 2가지 종류의 수식으로 구분되는데
fovy, aspect, n , f를 활용하는 수식은 아래와 같다
left, right, top, botton, n, f를 활용하는 수식은 아래와 같다
To LHS
OpenGL의 경우는
rasterizer, ouput merger 단계에서 LHS로 동작하기에
vertex shader, fragment shader 단계에서도
LHS로 바꿔서 연산을 해줘야한다
따라서 RHS의 Projection Matrix 공식에서 z 좌표를 negate 시켜줘야 한다
'게임 그래픽스 > [전북대] OpenGL' 카테고리의 다른 글
[OpenGL Note] Vertex Shader (0) | 2024.04.16 |
---|---|
[OpenGL Note] Uniforms, VAO (0) | 2024.04.16 |
[OpenGL Note] View Frustrum (0) | 2024.04.15 |
[OpenGL Note] View Transform (0) | 2024.04.14 |
[OpenGL Note] World Transform (0) | 2024.04.14 |