8,303
社区成员
发帖
与我相关
我的任务
分享
class CMatrix
{
public:
CMatrix() { D3DXMatrixIdentity( &m_LCPM ) ; m_Position[0] = m_Position[1] = m_Position[2] = D3DXVECTOR3( 0.f ,0.f,0.f) ; /* for ( int i = 0 ; i < 3 ; i ++ ) D3DXMatrixIdentity( m_pLCVMList[i] ) ; */ } ;
~CMatrix() {} ;
void SetPosition( D3DXVECTOR3 Position[3] ) { for ( int i = 0 ; i < 3 ; i ++ ) m_Position[i] = Position[i] ; UpdateLCVM() ; };
void UpdateLCVM ()
{
D3DXVECTOR3 Di[5] = { D3DXVECTOR3( 0.f , -1.f , 0.f) ,D3DXVECTOR3( 1.f , 0.f , 0.f) ,D3DXVECTOR3( -1.f , 0.f , 0.f) ,D3DXVECTOR3( 0.f , 0.f , 1.f) ,D3DXVECTOR3( 0.f , 0.f , -1.f) } ;
D3DXVECTOR3 Up( 0.01f , 1.f , 0.01f ) ;
for ( int i = 0 ; i < 3 ; i ++ )
{
for ( int j = 0 ; j < 5 ; j ++ )
{
D3DXVECTOR3 At = m_Position[i] + Di[j] ;
D3DXMatrixLookAtLH( m_pLCVMList[5*i+j] , &m_Position[i] ,&At ,&Up ) ;
}//??????????????????????????????
}
};
D3DXMATRIX* GetLCPM() { D3DXMatrixPerspectiveFovLH( &m_LCPM, D3DX_PI/2, 1.f, 0.1f, 20.f ); return &m_LCPM ; } ;
D3DXMATRIX** GetLCVMList() { return m_pLCVMList ; } ;
private:
D3DXMATRIX m_LCPM ,*m_pLCVMList[15] ;
D3DXVECTOR3 m_Position[3] ;
};