D3D学习笔记(一)

来源:互联网 发布:mac 杀毒 编辑:程序博客网 时间:2024/04/30 15:05

D3DVECTOR3:d3d提供的向量

向量的点积函数

FLOAT D3DXVec3Dot(CONST D3DXVECTOR3* pV1,CONST D3DXVECTOR3* pV2);

向量的叉乘函数

FLOAT D3DXVec3Cross(D3DXVECTOR3* pOut,CONST D3DXVECTOR3* pV1,CONST D3DXVECTOR3* pV2);

D3D矩阵

通常只使用4×4的矩阵和1×4的行向量

矩阵的乘法不具有交换性

D3DX中表示4×4的矩阵:D3DXMATRIX

矩阵的转置D3DMATRIX A(...);

D3DMATRIX B;

D3DMatrixTranspose(&B,&A) ; //B=A的转置

矩阵求逆

D3DXMATRIX *D3DXMatrixInverse(

D3DXMATRIX *pOut;

FLOAT* pDeterminant,

CONST D3DXMATRIX *pM

);

矩阵的平移

D3DXMATRIX *D3DXMatrixTranslation(

D3DXMATRIX* pOut,

FLOAT x,//沿x轴平移距离

FLOAT y,//沿y轴平移距离

FLOAT z//沿z轴平移距离

);

绕X轴旋转

D3DXMATRIX* D3DXMatrixRotationX(

D3DXMATRIX *pOut;

FLOAT Angle;

);

绕y,z轴转动同理

矩阵的比例变换

D3DXMATRIX* D3DXMatrixScaling(

D3DXMATRIX* pOut,

FLOAT sx,//沿x轴缩放比例

FLOAT sy,沿y轴缩放比例

FLOAT sz//沿z轴缩放比例

);

d3d进行点的变换

D3DXVECTOR* D3DXVec3TransformCoord(

D3DXVECTOR* pOut, 

CONST D3DXVECTOR* pV,

CONST D3DXMATRIX* pM  //变换矩阵

);

D3DXVECTOR* D3DXVec3TransformNormal(

D3DXVECTOR* pOut, 

CONST D3DXVECTOR* pV,

CONST D3DXMATRIX* pM  //变换矩阵

);


0 0
原创粉丝点击