RHS vs. LHS
View Transform에서 물체의 배치가 같다고 하더라도
오른손 법칙과 왼손 법칙 중 어떤 것을 선택하느냐에 따라서
물체의 배치가 달라진다
따라서, 서로 다른 법칙을 사용하는 모델링 툴과 게임엔진이 있다면
물체의 배치를 동일하게 하기 위해서는
오브젝트들의 z좌표들과 View Transform의 z좌표들을 negate 해줘야 하고
모델링 툴에는 Forward(ex. -Z)와 Up(ex. Y)을 직접 설정해 주는 기능이 대부분 있다
View Frustrum의 핵심
external parameter에는 EYE, AT, UP
internal parameter에는 fovy, aspect, n, f가 있다
fovy는 field of view in y-direction이다
aspect는 width / height로 fovx / fovy이고 해상도에 의해 결정된다
n은 near이다
f는 far이다
그리고 이 사이 공간이 카메라에 의해 보이는 공간이며
View Frustrum이다
View Frustrum Culling
View Frustrum에 들어오지 않는 것은 그리지 않는 것을 의미한다
View Frustrum Culling은 CPU에서 작업한다
그 이유는 들어오지 않는 부분을
굳이 GPU에서 vertex processing 단계를 거치면 비효율적이기 때문이다
따라서 CPU에서 GPU로 넘기기 전에 해당 과정을 진행한다
또한, 절단면이 발생하면
그에 맞게 들어오는 부분을 다시 삼각형으로 나누는 Clipping 작업은
GPU의 Rasterizer에서 자동으로 수행해 준다
'게임 그래픽스 > [전북대] OpenGL' 카테고리의 다른 글
[OpenGL Note] Uniforms, VAO (0) | 2024.04.16 |
---|---|
[OpenGL Note] Projection Transform (0) | 2024.04.15 |
[OpenGL Note] View Transform (0) | 2024.04.14 |
[OpenGL Note] World Transform (0) | 2024.04.14 |
[OpenGL Note] 3D Transform (0) | 2024.04.13 |