World, view 변환 행렬

ㅋㅋ·2022년 7월 21일
0

DirectX12강의

목록 보기
18/39

(local, model) space =>

world space =>

(view, camera, eye) space =>

(clip, projection) space (원근 or 직교 투영) =>

(view port, window, screen) space (모니터)


(local, model) space => world space

로컬 좌표를 월드 공간으로 변환 시 사용하는 변환 행렬은 모두 다름

=>

월드의 객체는 모두 자신의 크기, 각도, 위치가 있음

보통 캐릭터가 바라보는 앞쪽 방향을 look vector, 위 방향을 up vector, 오른쪽 방향을 right vector라 함

로컬 스페이스 객체 x W = 월드 스페이스 객체

객체의 위치가 로컬 스페이스의 원점에 있다가 월드 스페이스의 특정 좌표로 변환한 것과 같음

=>

T 변환 한 것과 같음

=>

객체가 월드 스페이스에서 어떻게 놓여야할 지 알고

로컬 스페이스에서 위치가 (0,0,0) 각도가 0, 크기 비율이 1이었다고 가정하면

어떤 SRT를 곱하면 월드 스페이스에서의 위치, 각도, 크기가 되는지 알 수 있음

=>

로컬 스페이스 객체에 W 변환 행렬을 곱하거나 SRT 행렬을 곱하여 월드 스페이스 변환

역으로 W 변환 행렬을 안다면 역으로 위치, 각도, 크기를 추정할 수 있음

역행렬로 월드 공간에서 로컬 공간으로 변환 가능


world space => (view, camera, eye) space

카메라는 자신의 로컬 공간을 가지고 있음
=>
1. 월드 공간의 좌표를 카메라 로컬 공간 좌표로 변환

카메라는 월드 공간에 배치되어 있고, 월드 좌표를 가짐
=>
2. 카메라를 월드 공간으로 배치하는 W 행렬의 역행렬을 이용

View matrix=Wcam1=(RT)1View\ matrix = W^{-1}_{cam} = (RT)^{-1}

XMMatrixLookAtLH
LH => Left Hand
DirectXMath 헤더에서 함수 지원

[in] FXMVECTOR EyePosition, => 카메라 월드 좌표
[in] FXMVECTOR FocusPosition, => 카메라가 바라보는 점
[in] FXMVECTOR UpDirection => 월드 좌표 기준 카메라의 up 방향

  1. eye와 focus 점들을 이용하여 look vector 생성
    up 방향과 look vector를 이용하여 right vector 생성
    look, right vector 이용하여 up vector 생성

0개의 댓글

관련 채용 정보