달력

10

« 2018/10 »

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  

'행렬'에 해당되는 글 1

  1. 2010.06.14 DirectX - 행렬(Matrices)
2010.06.14 11:38

DirectX - 행렬(Matrices) 프로그래밍/DirectX2010.06.14 11:38





Dx에서 3차원의 정점(Vertex)를 화면상의 모니터로 출력해 주기 위해서는

3가지의 행렬 변환이 필요 하다.

1. 월드 행렬
2. 뷰 행렬
3. 투영 행렬

월드 행렬의 경우에는 3D오브젝트의 로컬좌표를 3차원의 필드에 특정 위치에 뿌려 주기 위해서,
( 좀더 간단하게 말하면, 로컬 좌표를 월드 좌표로 변환 하는 작업 )

뷰 행렬은 카메라를 셋팅한다고 생각하면 되는데,
뷰 행렬을 만들기 위해서는 추가적인 3개의 백터가 필요 하다.
카메라의 위치, 카메라가 바라보는 방향, 카메라의 Up벡터가 필요 하다.

마지막으로 투영 행렬은,
각각의 3D좌표들을 우리의 눈으로 보게 되는 2D로 변경하는 작업을 한다.

이런 작업을 렌더링 파이프라인이라고 하는데,

3D의 좌표를 모니터 화면에 뿌려주기 위한 작업이라고 보면 된다.


이제 이 작업을 Render할때 마다 해주어야 한다.
D3DInit나 InitVB와는 다르게,

행렬에 관한 연산은 매번 처리를 해 주어야 한다.

전체 소스는 생략,

Posted by 안식의후크