-------------------------------------------------------------------------------
| 1040 | |
| 1041 | //------------------------------------------------------------------------------- |
| 1042 | aiVector3D GetCameraMatrix(aiMatrix4x4 &p_mOut) { |
| 1043 | D3DXMATRIX view; |
| 1044 | D3DXMatrixIdentity(&view); |
| 1045 | |
| 1046 | D3DXVec3Normalize((D3DXVECTOR3 *)&g_sCamera.vLookAt, (D3DXVECTOR3 *)&g_sCamera.vLookAt); |
| 1047 | D3DXVec3Cross((D3DXVECTOR3 *)&g_sCamera.vRight, (D3DXVECTOR3 *)&g_sCamera.vUp, (D3DXVECTOR3 *)&g_sCamera.vLookAt); |
| 1048 | D3DXVec3Normalize((D3DXVECTOR3 *)&g_sCamera.vRight, (D3DXVECTOR3 *)&g_sCamera.vRight); |
| 1049 | D3DXVec3Cross((D3DXVECTOR3 *)&g_sCamera.vUp, (D3DXVECTOR3 *)&g_sCamera.vLookAt, (D3DXVECTOR3 *)&g_sCamera.vRight); |
| 1050 | D3DXVec3Normalize((D3DXVECTOR3 *)&g_sCamera.vUp, (D3DXVECTOR3 *)&g_sCamera.vUp); |
| 1051 | |
| 1052 | view._11 = g_sCamera.vRight.x; |
| 1053 | view._12 = g_sCamera.vUp.x; |
| 1054 | view._13 = g_sCamera.vLookAt.x; |
| 1055 | view._14 = 0.0f; |
| 1056 | |
| 1057 | view._21 = g_sCamera.vRight.y; |
| 1058 | view._22 = g_sCamera.vUp.y; |
| 1059 | view._23 = g_sCamera.vLookAt.y; |
| 1060 | view._24 = 0.0f; |
| 1061 | |
| 1062 | view._31 = g_sCamera.vRight.z; |
| 1063 | view._32 = g_sCamera.vUp.z; |
| 1064 | view._33 = g_sCamera.vLookAt.z; |
| 1065 | view._34 = 0.0f; |
| 1066 | |
| 1067 | view._41 = -D3DXVec3Dot((D3DXVECTOR3 *)&g_sCamera.vPos, (D3DXVECTOR3 *)&g_sCamera.vRight); |
| 1068 | view._42 = -D3DXVec3Dot((D3DXVECTOR3 *)&g_sCamera.vPos, (D3DXVECTOR3 *)&g_sCamera.vUp); |
| 1069 | view._43 = -D3DXVec3Dot((D3DXVECTOR3 *)&g_sCamera.vPos, (D3DXVECTOR3 *)&g_sCamera.vLookAt); |
| 1070 | view._44 = 1.0f; |
| 1071 | |
| 1072 | memcpy(&p_mOut, &view, sizeof(aiMatrix4x4)); |
| 1073 | |
| 1074 | return g_sCamera.vPos; |
| 1075 | } |
| 1076 | |
| 1077 | } // namespace AssimpView |
no outgoing calls
no test coverage detected