'공부/DirectX'에 해당되는 글 2건

  1. 2017.11.17 기본 행렬 함수
  2. 2017.11.14 기본 벡터 함수
posted by 구로보루 2017. 11. 17. 18:35

D3DXMatrixIdentity(D3DXMATRIX * pOut)

단위행렬을 생성하는 함수이다. 보통 행렬을 초기 생성하기 위해 사용된다.

단위행렬을 [1,1][2,2][3,3][4,4] 위치의 값이 1이고 나머지는 0인 행렬

pOut -> 생성될 단위행렬

 

 

D3DXMatrixTranslation(D3DXMATRIX * pOut, FLOAT x, FLOAT y, FLOAT z)

이동할 값을 저장하는 행렬이다.

pOut -> 생성될 행렬

x, y, z -> 이동할 목적지

 

 

D3DXMatrixScaling(D3DXMATRIX * pOut, FLOAT x, FLOAT y, FLOAT z)

크기의 값을 저장하는 행렬을 생성하는 함수이다.

pOut -> 생성될 행렬

x, y, z -> 크기의 배수

만약 -1의 경우 반대로 그려진다.

 

 

D3DXMatrixRotationZ(D3DXMATRIX * pOut, FLOAT Angle)
Z축 기준으로 회전하는 행렬을 생성하는 함수이다.

pOut -> 생성될 행렬

Angle -> 회전 각

 

 

D3DXMatrixInverse

(D3DXMATRIX * pOut, FLOAT * pDeterminant, CONST D3DXMATRIX * pM)

역행렬을 생성하는 함수이다.

pOut -> 생성될 행렬

pDeterminant -> 행렬의 행렬식을 포함을 포인터. 행렬식이 불필요한 경우 null

pM -> 역행렬을 계산할 기본 행렬

'공부 > DirectX' 카테고리의 다른 글

기본 벡터 함수  (0) 2017.11.14
posted by 구로보루 2017. 11. 14. 18:13

D3DXVECTOR3

다이렉트에서 벡터를 생성하기 위한 구조체이다.

기본적으로 FLOAT형의 x, y, z가 저장되어 사용한다.

 

 

D3DXVec3TransformCoord

사용하는 벡터를 행렬과 연산하는 함수이다.

(D3DXVECTOR3 *pOut, const D3DXVECTOR3 *pV, const D3DXMATRIX *pM)

pOut -> 계산된 벡터

pV -> 행렬과 계산할 벡터

pM -> 계산할 행렬

를 인자값으로 받는다.

 

보통 행렬은 4x4 행렬이 기본인데 여기서 벡터는 x, y, z 3가지 이기 때문에 TransformCoord의 경우 맨 마지막에 1을 추가하여 행렬과 연산한다.

 

 

D3DXVec3TransformNormal

Coord와 마찬가지로 사용하는 벡터를 행렬과 연산하는 함수이다.

(D3DXVECTOR3 *pOut, const D3DXVECTOR3 *pV, const D3DXMATRIX *pM)

pOut -> 계산된 벡터

pV -> 행렬과 계산할 벡터

pM -> 계산할 행렬

를 인자값으로 받는다.

 

TransformNormal의 경우 맨 마지막에 0을 추가하여 x ,y, z, 0 벡터를 행렬과 연산한다.

 

 

D3DXVec3Normalize

백터의 크기를 1로 만들어서 정규화 한다. 크기와 상관없이 단순한 방향을 통해 각도를 계산하기 편리하다.

 

 

D3DXVec3Length

백터를 인자로 전달해 길이를 반환한다.

 

D3DXVec3Dot

벡터를 인자로 전달해 각도를 반환한다.

 

D3DXToRadian / D3DXToDegree

위의 두개는 메크로인데 각각

각도를 라디안으로

라디안을 각도로

변환하는 매크로이다.

'공부 > DirectX' 카테고리의 다른 글

기본 행렬 함수  (0) 2017.11.17