|
|
发表于 2009-8-16 20:24:00
|
显示全部楼层
Re:???????????????????????
??????????????
D3DXMatirxRotationAxis(D3DXMATRIX* pOut, CONST D3DXVECTOR3* pV, FLOAT Angle);
D3DXVec3TransformCoord(D3DXVECTOR3* pOut, CONST D3DXVECTOR3* pV, CONST D3DXMATRIX* pM);
??????????????
//??????????
D3DXVECTOR3 lookDir = pAt - pEye;
D3DXMATRIX matRotation1, matRotation2, matTranslation;
//??????????45°
D3DXMatrixRotationAxis(&matRotation1, &lookDir, D3DX_PI / 4.0f);
//?????UP????-45°
D3DXMatrixRotationAxis(&matRotation2, &pUp, -D3DX_PI / 4.0f);
//????????????????
float delta = 0.5f; //?????????
D3DXVECTOR3 translation = -delta * lookDir;
D3DXMatrixTranslation(&matTranslation, translation.x, translation.y, translation.z);
//?????????
D3DXMATRIX matWorld;
m_Device->GetTransform(D3DTS_WORLD, &matWorld);
//??
matWorld *= matRotation1 * matRotation2 * matTranslation;
m_Device->SetTransform(D3DTS_WORLD, &matWorld);
//?????????? |
|