원근 투영 변환 행렬과 투영 변환 행렬의 의미 (수정)
컴퓨터 그래픽스2024. 8. 5. 18:26원근 투영 변환 행렬과 투영 변환 행렬의 의미 (수정)

수정 및 추가된 부분먼저 이전에 원근 투영 변환 행렬에 대해서 조금 잘 못 알고있던 부분을 수정했고 투영 변환 행렬에 대한 정확한 의미?를 추가하였습니다.원근 투영 변환 행렬이란?우선 원근 투영은 인간의 눈과 비슷하게 3차원 공간의 객체를 2차원 평면에 사영(Projection)하여 화면에 나타내는 방식이다. 즉, 3D 뷰 공간(space)으로 부터 2D 뷰포트 공간에 정점들을 변환 하는 행렬을 말한다.근데, 보통 구글링을 하면 3차원 공간에서 바로 2차원 뷰포트로 가는듯이 말을하는 글들이 많은데 중간 과정이 있다.바로 아래와 같이 카메라 시야각(FOV)안에 담긴 물체들을 -1~1크기의 정육면체 안으로 변환한다.NDC좌표계로 변경된 좌표를 이제 뷰포트 매핑을 해주어 화면에 보이게 되는 것이다. 왜 변환을..

View Spcae Matrix 만들기
컴퓨터 그래픽스/DirectX2024. 7. 31. 16:26View Spcae Matrix 만들기

뷰 스페이스란?'뷰 행렬은 카메라의 위치와 방향을 기반으로 3D공간을 카메라의 시점으로 변환하는 행렬'이다..이 행렬이 필요한 이유는 월드 공간은 매우 넓은 영역인데 이 영역을 다 보여준다면 프레임이 쭉쭉 떨어질 것이다.그래서 가상의 카메라 개념을 넣어서 카메라를 중심으로 화면이 보이도록 하겠다라는 것이다.이렇게 하기 위해서는 '월드 공간'에 있던 여러 오브젝트들을 카메라를 중심으로하는 좌표계로 변환 시켜야 하는데이 공간을 view space라 한다. (view space로 변환 시켜주는 행렬이 View Matrix이다) 이 과정을 짧게 정리하면 카메라를 월드 시스템의 원점으로 변환하고, 카메라가 양의 Z축을 보도록 회전 시켜야 한다는 것이다. 이때 월드에 대한 관점이 바뀌지 않도록 하기 위해서는 카메라..

image