본문 바로가기
IT 기술/Direct3D

Direct3D 행렬의 XNA Math 라이브러리_7일차

by 썬's 2023. 1. 18.

오늘은 Direct3D에서 지원하는 XNA Math 라이브러리 중 행렬 관련 기능에 대해 알아보겠습니다.

이전 시간에부로 행렬에 대한 설명은 마무리 됐습니다.

※제 수업은 이전주차에서 배운 개념을 재차 설명하지 않습니다※


Direct3D XNA Math 행렬의 구조체 및 함수

Direcct3D의 3차원 상에서 행렬의 위치를 나태나는 점(위치벡터)과 일반 벡터를 변환할 때, 1x4 행벡터와 4x4 행렬을 사용합니다. 이번 시간에는 XNA Math 라이브러리에서 4x4 행렬을 나타내는 데 사용되는 형식이 있습니다. 바로 XMMATIRX 클래스입니다. XNA Math 라이브러리에는 행렬을 클래스 자료 멤버로 저장할 때 XMFLOAT4X4 형식을 사용합니다.

 

Direct3D의 XNA Math 라이브러리에 다음과 같은 행렬 관련 함수가 있습니다.

여기서 말씀드리고 싶은 건, 이 외에도 관련 함수는 무수히 많습니다.

제가 설명하는 것들은 Direct3D에서 빈번히 사용되는 개념입니다.

예를 들어 행렬 M, A, B가 있다고 가정해 보겠습니다.

  • XMMATRIX XMMatrixIdentity(); -> 단위행렬 M을 돌려줍니다.
  • XMMATRIX XMMatrixMultiply(A, B) -> 행렬 A와 B를 곱한 결과를 반환한다.
  • XMMATRIX XMMatrixTranspose(M) -> 행렬 M의 전치행렬을 돌려준다. 즉 MT를 반환한다.
  • BOOL XMMatrixIsIdentity(M) -> M이 단위행렬인지 확인한다.

이번 시간에는 Direct3D에 중요한 개념 중 하나인 행렬에 쓰이는 XNA Math 라이브러리 함수에 대해 알아봤습니다.

다음 시간에는 5-7일차 기간에 배운 행렬을 요약 해보는 시간을 가지 겠습니다.

긴 글(?)은 아니고 이번 시간에는 글이 좀 짧네요 ㅎㅎ 아무튼 읽어주시느라 고생 많으셨습니다~

그럼 다음 시간에 뵙겠습니다.

댓글