8,303
社区成员
发帖
与我相关
我的任务
分享
inline D3DXMATRIX* SetRotation(D3DXMATRIX* pOut,float fX, float fY, float fZ)
{
#ifdef DEBUG
if(!pOut)
{
assert(0);
return NULL;
}
#endif
D3DXMatrixIdentity(pOut);
double cx = cos(fX);
double sx = sin(fX);
double cy = cos(fY);
double sy = sin(fY);
double cz = cos(fZ);
double sz = sin(fZ);
pOut->_11 = (float)(cy * cz);
pOut->_12 = (float)(cy * sz);
pOut->_13 = (float)(-sy);
pOut->_21 = (float)(sx * sy * cz - cx * sz);
pOut->_22 = (float)(sx * sy * sz + cx * cz);
pOut->_23 = (float)(sx * cy);
pOut->_31 = (float)(cx * sy * cz + sx * sz);
pOut->_32 = (float)(cx * sy * sz - sx * cz);
pOut->_33 = (float)(cx * cy);
}