1 #include "..\include\raMain.h" 17 m_fNearPlane = fNearPlane;
18 m_fFarPlane = fFarPlane;
19 D3DXMatrixOrthoLH((D3DXMATRIX*)&m_mProj, w, h, fNearPlane, fFarPlane);
24 if( NULL == pvEyePt || NULL == pvLookatPt )
27 m_vDefaultEye = m_vEye = *pvEyePt;
28 m_vDefaultLookAt = m_vLookAt = *pvLookatPt;
34 D3DXVec3Normalize((D3DXVECTOR3*)&viewDir,
35 D3DXVec3Subtract((D3DXVECTOR3*)&viewDir, (D3DXVECTOR3*)pvLookatPt, (D3DXVECTOR3*)pvEyePt));
36 if(1 - abs(D3DXVec3Dot((D3DXVECTOR3*)&vUp, (D3DXVECTOR3*)&viewDir)) <= 0.0001f)
37 vUp = D3DXVECTOR3(1, 0, 0);
39 D3DXMatrixLookAtLH((D3DXMATRIX *) &m_mView,(D3DXVECTOR3*) pvEyePt,(D3DXVECTOR3*) pvLookatPt, (D3DXVECTOR3*)&vUp );
42 D3DXMatrixInverse((D3DXMATRIX *)&mInvView, NULL,(D3DXMATRIX *) &m_mView );
44 D3DXVECTOR3* pZBasis = ( D3DXVECTOR3* )&mInvView._31;
46 m_fCameraYawAngle = atan2f( pZBasis->x, pZBasis->z );
47 float fLen = sqrtf( pZBasis->z * pZBasis->z + pZBasis->x * pZBasis->x );
48 m_fCameraPitchAngle = -atan2f( pZBasis->y, fLen );
virtual void SetProjParams(FLOAT w, FLOAT h, FLOAT fNearPlane, FLOAT fFarPlane)
virtual void SetViewParams(raVector3 *pvEyePt, raVector3 *pvLookatPt)