Skip to content

Commit e56dc43

Browse files
committed
UPBGE: Remove usage of MT_CmMatrix4x4.
MT_CmMatrix4x4 is easilly replacable by MT_Matrix4x4.
1 parent 485afb0 commit e56dc43

File tree

8 files changed

+16
-49
lines changed

8 files changed

+16
-49
lines changed

intern/moto/include/MT_Matrix4x4.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,14 @@ class MT_Matrix4x4 {
212212

213213
MT_Matrix4x4 inverse() const;
214214
void invert();
215+
216+
MT_Transform toTransform() const
217+
{
218+
return MT_Transform(MT_Vector3(m_el[0][3], m_el[1][3], m_el[2][3]),
219+
MT_Matrix3x3(m_el[0][0], m_el[0][1], m_el[0][2],
220+
m_el[1][0], m_el[1][1], m_el[1][2],
221+
m_el[2][0], m_el[2][1], m_el[2][2]));
222+
}
215223

216224
protected:
217225
/**

source/gameengine/Ketsji/KX_GameObject.h

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
#include "SCA_IObject.h"
4545
#include "SG_Node.h"
4646
#include "MT_Transform.h"
47-
#include "MT_CmMatrix4x4.h"
4847
#include "KX_Scene.h"
4948
#include "KX_KetsjiEngine.h" /* for m_anim_framerate */
5049
#include "DNA_constraint_types.h" /* for constraint replication */
@@ -116,8 +115,6 @@ class KX_GameObject : public SCA_IObject
116115
KX_CullingNode m_cullingNode;
117116
SG_Node* m_pSGNode;
118117

119-
MT_CmMatrix4x4 m_OpenGL_4x4Matrix;
120-
121118
CListValue<KX_PythonComponent> *m_components;
122119

123120
std::vector<bRigidBodyJointConstraint*> m_constraints;
@@ -169,28 +166,6 @@ class KX_GameObject : public SCA_IObject
169166
std::map<SCA_IObject *, SCA_IObject *>& map
170167
);
171168

172-
/**
173-
* Compute an OpenGl compatible 4x4 matrix. Has the
174-
* side effect of storing the result internally. The
175-
* memory for the matrix remains the property of this class.
176-
*/
177-
float *
178-
GetOpenGLMatrix(
179-
);
180-
181-
/**
182-
* Return a pointer to a MT_CmMatrix4x4 storing the
183-
* opengl transformation for this object. This is updated
184-
* by a call to GetOpenGLMatrix(). This class owns the
185-
* memory for the returned matrix.
186-
*/
187-
188-
MT_CmMatrix4x4 *
189-
GetOpenGLMatrixPtr(
190-
) {
191-
return &m_OpenGL_4x4Matrix;
192-
};
193-
194169
/**
195170
* Update the blender object obmat field from the object world position
196171
* if blendobj is nullptr, update the object pointed by m_pBlenderObject

source/gameengine/Ketsji/KX_KetsjiEngine.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -744,8 +744,8 @@ float KX_KetsjiEngine::GetCameraZoom(KX_Camera *camera) const
744744
return overrideCamera ? m_overrideCamZoom : m_cameraZoom;
745745
}
746746

747-
void KX_KetsjiEngine::EnableCameraOverride(const std::string& forscene, const MT_CmMatrix4x4& projmat,
748-
const MT_CmMatrix4x4& viewmat, const RAS_CameraData& camdata)
747+
void KX_KetsjiEngine::EnableCameraOverride(const std::string& forscene, const MT_Matrix4x4& projmat,
748+
const MT_Matrix4x4& viewmat, const RAS_CameraData& camdata)
749749
{
750750
SetFlag(CAMERA_OVERRIDE, true);
751751
m_overrideSceneName = forscene;
@@ -885,7 +885,7 @@ MT_Matrix4x4 KX_KetsjiEngine::GetCameraProjectionMatrix(KX_Scene *scene, KX_Came
885885
MT_Matrix4x4 projmat;
886886
if (override_camera && !m_overrideCamData.m_perspective) {
887887
// needed to get frustum planes for culling
888-
projmat.setValue(m_overrideCamProjMat.getPointer());
888+
projmat = m_overrideCamProjMat;
889889
}
890890
else {
891891
RAS_FrameFrustum frustum;
@@ -1101,8 +1101,7 @@ void KX_KetsjiEngine::PostProcessScene(KX_Scene *scene)
11011101

11021102
// set transformation
11031103
if (override_camera) {
1104-
const MT_CmMatrix4x4& cammatdata = m_overrideCamViewMat;
1105-
MT_Transform trans = MT_Transform(cammatdata.getPointer());
1104+
MT_Transform trans = m_overrideCamViewMat.toTransform();
11061105
MT_Transform camtrans;
11071106
camtrans.invert(trans);
11081107

source/gameengine/Ketsji/KX_KetsjiEngine.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
#ifndef __KX_KETSJIENGINE_H__
3434
#define __KX_KETSJIENGINE_H__
3535

36-
#include "MT_CmMatrix4x4.h"
3736
#include "MT_Matrix4x4.h"
3837
#include <string>
3938
#include "KX_ISystem.h"
@@ -196,8 +195,8 @@ class KX_KetsjiEngine
196195

197196
std::string m_overrideSceneName;
198197
RAS_CameraData m_overrideCamData;
199-
MT_CmMatrix4x4 m_overrideCamProjMat;
200-
MT_CmMatrix4x4 m_overrideCamViewMat;
198+
MT_Matrix4x4 m_overrideCamProjMat;
199+
MT_Matrix4x4 m_overrideCamViewMat;
201200
/// Default camera zoom.
202201
float m_overrideCamZoom;
203202

@@ -360,7 +359,7 @@ class KX_KetsjiEngine
360359
/// Get the camera zoom for the passed camera.
361360
float GetCameraZoom(KX_Camera *camera) const;
362361

363-
void EnableCameraOverride(const std::string& forscene, const MT_CmMatrix4x4& projmat, const MT_CmMatrix4x4& viewmat, const RAS_CameraData& camdata);
362+
void EnableCameraOverride(const std::string& forscene, const MT_Matrix4x4& projmat, const MT_Matrix4x4& viewmat, const RAS_CameraData& camdata);
364363

365364
// Update animations for object in this scene
366365
void UpdateAnimations(KX_Scene *scene);

source/gameengine/Launcher/LA_BlenderLauncher.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ void LA_BlenderLauncher::InitCamera()
136136
camdata.m_clipend = m_view3d->far;
137137
camdata.m_perspective = (rv3d->persp != RV3D_ORTHO);
138138

139-
m_ketsjiEngine->EnableCameraOverride(m_startSceneName, MT_CmMatrix4x4(rv3d->winmat), MT_CmMatrix4x4(rv3d->viewmat), camdata);
139+
m_ketsjiEngine->EnableCameraOverride(m_startSceneName, MT_Matrix4x4(&rv3d->winmat[0][0]), MT_Matrix4x4(&rv3d->viewmat[0][0]), camdata);
140140
}
141141
}
142142

source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLLight.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@
3434
#include "RAS_Rasterizer.h"
3535
#include "RAS_ICanvas.h"
3636

37-
#include "MT_CmMatrix4x4.h"
38-
3937
#include "KX_Camera.h"
4038
#include "KX_Light.h"
4139
#include "KX_Scene.h"

source/gameengine/Rasterizer/RAS_Rasterizer.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -813,15 +813,6 @@ void RAS_Rasterizer::IndexPrimitivesDerivedMesh(RAS_MeshSlot *ms)
813813
m_impl->DrawDerivedMesh(ms, m_drawingmode);
814814
}
815815

816-
void RAS_Rasterizer::SetProjectionMatrix(MT_CmMatrix4x4 &mat)
817-
{
818-
SetMatrixMode(RAS_PROJECTION);
819-
float *matrix = &mat(0, 0);
820-
LoadMatrix(matrix);
821-
822-
m_camortho = (mat(3, 3) != 0.0f);
823-
}
824-
825816
void RAS_Rasterizer::SetProjectionMatrix(const MT_Matrix4x4 & mat)
826817
{
827818
SetMatrixMode(RAS_PROJECTION);

source/gameengine/Rasterizer/RAS_Rasterizer.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
# pragma warning (disable:4786)
3737
#endif
3838

39-
#include "MT_CmMatrix4x4.h"
4039
#include "MT_Matrix4x4.h"
4140

4241
#include "RAS_DebugDraw.h"
@@ -561,8 +560,6 @@ class RAS_Rasterizer
561560
/// Render text mesh slot using BLF functions.
562561
void IndexPrimitivesText(RAS_MeshSlot *ms);
563562

564-
void SetProjectionMatrix(MT_CmMatrix4x4 &mat);
565-
566563
/* This one should become our final version, methinks. */
567564
/**
568565
* Set the projection matrix for the rasterizer. This projects

0 commit comments

Comments
 (0)