검색결과 리스트
글
행렬을 클래스 자료멤버로 저장할 때엔 XMFLOAT4X4를 사용하는 것을 추천한다.
XMMATRIX의 선언은
union
{
XMVECTOR r[4]; // SIMD를 사용하기위해서 4개의 XMVECTOR을 이용한다.
struct
{
FLOAT _11, _12, _13, _14;
FLOAT _21, _22, _23, _24;
FLOAT _31, _32, _33, _34;
FLOAT _41, _42, _43, _44;
};
FLOAT m[4][4];
};
행렬관련 함수들
XMMATRIX XMMatrixIdentity(); // 단위행렬 I를 돌려준다.
BOOL XMMatrixIsIdentity(CXMMATRIX M); // 단위행렬 여부를 알려준다.
XMMATRIX XMMatrixMultiply(CXMMATRIX A, CXMMATRIX B); // 행렬 곱 AB를 돌려준다.
XMMATRIX XMMatrixTranspose( CMMATRIX M); // M의 전치행렬을 돌려준다.
XMVECTOR XMMatrixDeterminant ( CXMMATRIX M); (det M, det M, det M det M)을 돌려준다.
XMMATRIX XMMatrixInverse ( XMVECTOR* pDeterminant, CXMMATRIX M); M의 역행렬을 돌려준다.
XMMATRIX XMMatrixScaling( FLOAT ScaleX, FLOAT ScaleY, FLOAT ScaleZ)
XMMATRIX MXMatrixScalingFromVector( FXMVECTOR Scale );
XMMATRIX XMMatrixRotationX ( FLOAT Angle );
XMMATRIX XMMatrixRotationY( FLOAT Angle ) ;
XMMATRIX XMMatrixRotationZ( FLOAT Angle ) ;
XMMATRIX XMMatrixRotationAxis ( FXMVECTOR Axis, FLOAT Angle );
XMMATRIX XMMatrixTranslation( FLOAT OffsetX, FLOAT OffsetY, FLOAT OffsetZ)
XMMATRIX XMMatrixTranslationFromVector( FXMVECTOR Offset );
XMVECTOR XMVector3Transfrom( FXMVECTOR V, CXMMATRIXM ) ;
XMVECTOR XMVector3TransfromCoord ( FXMVECTOR V, CXMMATRIX M);
XMVECTOR XMVector3TrasnfromNormal ( FXMVECTOR V, CXMMATRIX M);
* 마지막 두함수에서 벡터의 w성분을 신경쓰지 않아도 된다. XMVector3TransfromCoord의 w 값은 항상 1이고 XMVector3TransformNormal은 항상 0이다.
'DirectX11 > 수학관련' 카테고리의 다른 글
XNA Math 라이브러리(벡터) (0) | 2016.07.02 |
---|
RECENT COMMENT