MCPcopy Create free account
hub / github.com/assimp/assimp / GetCameraMatrix

Function GetCameraMatrix

tools/assimp_view/assimp_view.cpp:1042–1075  ·  view source on GitHub ↗

-------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

1040
1041//-------------------------------------------------------------------------------
1042aiVector3D 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

Callers 2

RenderFullSceneMethod · 0.85
OnPostRenderMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected