공부/DirectX

기본 벡터 함수

구로보루 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

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

각도를 라디안으로

라디안을 각도로

변환하는 매크로이다.