1. Look At

 

행렬에 대한 좋은 점은 만약 3개의 직각(또는 비선형)인 축을 사용하여 좌표 space를 만들면 3개의 축과 이동 벡터와 함께 행렬을 만들 수 있고 어떠한 벡터든지 이 행렬과 곱하여 이 좌표 space로 변환할 수 있다는 것이다. 이것이 정확히LookAt행렬이 수행하는 것이다. 그리고 이제 우리는 카메라 space를 정의하기 위한 3개의 직각인 축과 위치 벡터를 가지고 있으므로 우리만의 LookAt 행렬을 만들 수 있다.

 

 

R은 오른쪽 벡터, U는 위쪽 벡터, D는 방향 벡터, P는 카메라의 위치 벡터이다. 위치 벡터가 반대로 되어있음을 알아두어야 한다. 우리는 결국 world를 우리가 이동할 곳의 반대 방향으로 이동시키기를 원하기 때문이다. 이 LookAt 행렬을 우리의 view 행렬로서 사용하여 효과적으로 모든 world 좌표들을 우리가 방금 정의한 view space로 변환할 수 있다.

그런 다음 이 LookAt 행렬은 정확히 주어진 타겟을 바라보고(look) 있는 view 행렬을 생성한다.

+ Recent posts