본문 바로가기

프로그래밍/공부관련

DirectX 예제 XYZ축 라인그리기 및 카메라(뷰행렬)에 관한 예제


소스는 간단하고 필요한 구현부분만 작성되어있기에 이부분을 따라 구현하는데에는 어렵지 않을것이다.
뷰행렬을 적용할때 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