본문 바로가기

전체 글

(61)
DX9 - 카메라 목적CCamera는 게임 씬(Scene) 전체를 카메라 기준으로 변환시키기 위해, View 행렬과 Projection 행렬을 생성하고 관리하는 객체입니다. 또한, 입력에 따라 카메라를 이동하거나 회전시킬 수 있습니다. 주요 데이터m_vCameraInfo[CAMERA_END]→ 카메라의 위치(Pos), 오른쪽(Right), 위(Up), 전방(Look) 벡터를 저장하는 배열.m_CameraType→ 카메라가 땅을 걷는지(LANDOBJECT) 하늘을 나는지(AIRCRAFT) 구분.m_ViewMatrix→ 카메라의 뷰 행렬을 저장합니다.CameraType m_CameraType = { LANDOBJECT };_matrix m_ViewMatrix;_vec3 m_vCameraInfo[CAMERA_END]; 현재 ..
동차 좌표 동차 좌표 1. 동차 좌표란?일반적인 3D 좌표: (x, y, z)동차 좌표: (x, y, z, w) 형태의 4차원 벡터이때 실제 3D 공간의 점은 다음과 같이 복원함:(wx,wy,wz)즉, (x, y, z, w)는 (x/w, y/w, z/w)와 동일한 3D 위치를 나타냄(단, w ≠ 0일 때) 2. 왜 동차 좌표가 필요한가?A. 행렬 연산으로 모든 변환을 통일시키기 위해변환 종류 일반 좌표 동차 좌표에서의 처리회전행렬 곱 가능동일스케일링행렬 곱 가능동일이동 (Translation)행렬 곱 불가능행렬 곱 가능일반 좌표에서는 (x, y, z) + (dx, dy, dz)로 이동하지만,행렬만으로 이동까지 처리하려면 동차 좌표가 필요함. 즉, 동차 좌표는 모든 공간 변환을 행렬 곱으로 처리할 수 있게 해줌 B..
DX - 투영 행렬 왜 투영 행렬이 필요한가?우리가 다루는 3D 공간의 정보는 모니터라는 2D 평면에 시각적으로 표시되어야 합니다.이때 3D 공간의 점(Vertex) 들을 2D 화면으로 변환(투영) 해주는 작업이 필요합니다.이 변환을 수행하는 수학적 도구가 바로 투영 행렬(Projection Matrix) 입니다. 투영 행렬의 구조[ 1/(aspect) * scale 0 0 0 ][ 0 scale 0 0 ][ 0 0 f/(f - n) 1 ][ 0 0 -n*f/(f - ..