//=========================================
/**
次計(jì)算方法
right向量的y分量始終是0
*/
//=========================================
在Camera類加了一個(gè),以自身位置和目標(biāo)位置計(jì)算look,up,right向量的函數(shù)
void zybCamera::setPositionAndTarget(D3DXVECTOR3* pos,D3DXVECTOR3* target)
{
_pos = *pos;
D3DXVECTOR3 look = *target - *pos;
D3DXVec3Normalize(&look,&look);
_look = look;
_right.y = 0;
//正向旋轉(zhuǎn)90°,想想自己前方是前向量,又向量自然為前向量旋轉(zhuǎn)90
_right.x = look.z;
_right.z = -look.x;
D3DXVec3Normalize(&_right,&_right);
D3DXVec3Cross(&_up, &_look, &_right);
D3DXVec3Normalize(&_up, &_up);
}