뷰행렬을 적용할때 D3DXMatrixLookAtLH함수를 작성했었다. 구체적인 방법은 배제한체 이 함수에 의존했다.
그런데 위의 예제에서는 그렇지는 않다.
가장 중요한 부분의 함수 위의 설명인데, 이것으로 어느정도 이해가 가는듯 하였고,
//------------------------------------------------------------------------------
// Name : updateViewMatrix()
// Desc : Builds a view matrix suitable for Direct3D.
//
// Here's what the final matrix should look like:
//
// | rx ux lx 0 |
// | ry uy ly 0 |
// | rz uz lz 0 |
// | -(r.e) -(u.e) -(l.e) 1 |
//
// Where r = Right vector
// u = Up vector
// l = dLook vector
// e = Eye position in world space
// . = Dot-product operation
//
//------------------------------------------------------------------------------
다만 D3DXVec3Cross,D3DXVec3Normalize 함수를 사용하는 것을 보아하니, 정규화와 외적공식쓰더라.
아주 섬세하게 세부사항에 대해서는 잘모른다. 다만 복사/붙여넣기하고 신경안써도 뭐 특이사항없이 작업을 진행할 수 있지만, 그동안 넘겨왔던 이부분에 다시 한번 책을 피고 읽어는 봐야겠다.
'프로그래밍 > 공부관련' 카테고리의 다른 글
d3d 라이트 (0) | 2010.02.21 |
---|---|
Directx9.0c 버퍼관련.. (0) | 2010.02.08 |
[MFC]다이얼로그바 띄우기 (0) | 2010.01.25 |
[MFC] 다이얼로그바 내부에 있는 버튼활성화 (1) | 2010.01.25 |
shared_ptr (0) | 2010.01.07 |