Skip to content

Commit 7e0ddbb

Browse files
committed
UPBGE: Avoid debug draw the frustum of the camera used for the render.
1 parent d4998ba commit 7e0ddbb

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

source/gameengine/Ketsji/KX_KetsjiEngine.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1012,7 +1012,7 @@ void KX_KetsjiEngine::RenderFrame(KX_Scene *scene, KX_Camera *cam, RAS_OffScreen
10121012
// Draw debug infos like bouding box, armature ect.. if enabled.
10131013
scene->DrawDebug(debugDraw);
10141014
// Draw debug camera frustum.
1015-
DrawDebugCameraFrustum(scene, debugDraw, viewport, area);
1015+
DrawDebugCameraFrustum(scene, cam, debugDraw, viewport, area);
10161016
DrawDebugShadowFrustum(scene, debugDraw);
10171017

10181018
#ifdef WITH_PYTHON
@@ -1250,18 +1250,18 @@ void KX_KetsjiEngine::RenderDebugProperties()
12501250
m_rasterizer->FlushDebugDraw(nullptr, m_canvas);
12511251
}
12521252

1253-
void KX_KetsjiEngine::DrawDebugCameraFrustum(KX_Scene *scene, RAS_DebugDraw& debugDraw, const RAS_Rect& viewport, const RAS_Rect& area)
1253+
void KX_KetsjiEngine::DrawDebugCameraFrustum(KX_Scene *scene, KX_Camera *cam, RAS_DebugDraw& debugDraw, const RAS_Rect& viewport, const RAS_Rect& area)
12541254
{
12551255
if (m_showCameraFrustum == KX_DebugOption::DISABLE) {
12561256
return;
12571257
}
12581258

12591259
CListValue *cameras = scene->GetCameraList();
12601260
for (CListValue::iterator<KX_Camera> it = cameras->GetBegin(), end = cameras->GetEnd(); it != end; ++it) {
1261-
KX_Camera *cam = *it; // TODO: don't draw current camera.
1262-
if (m_showCameraFrustum == KX_DebugOption::FORCE || cam->GetShowCameraFrustum()) {
1263-
const MT_Matrix4x4 viewmat(cam->GetWorldToCamera());
1264-
debugDraw.DrawCameraFrustum(GetCameraProjectionMatrix(scene, cam, viewport, area), viewmat);
1261+
KX_Camera *camObj = *it;
1262+
if (camObj != cam && (m_showCameraFrustum == KX_DebugOption::FORCE || camObj->GetShowCameraFrustum())) {
1263+
const MT_Matrix4x4 viewmat(camObj->GetWorldToCamera());
1264+
debugDraw.DrawCameraFrustum(GetCameraProjectionMatrix(scene, camObj, viewport, area), viewmat);
12651265
}
12661266
}
12671267
}

source/gameengine/Ketsji/KX_KetsjiEngine.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ class KX_KetsjiEngine
240240
RAS_OffScreen *PostRenderScene(KX_Scene *scene, RAS_OffScreen *inputofs, RAS_OffScreen *targetofs);
241241
void RenderDebugProperties();
242242
/// Debug draw cameras frustum of a scene.
243-
void DrawDebugCameraFrustum(KX_Scene *scene, RAS_DebugDraw& debugDraw, const RAS_Rect& viewport, const RAS_Rect& area);
243+
void DrawDebugCameraFrustum(KX_Scene *scene, KX_Camera *cam, RAS_DebugDraw& debugDraw, const RAS_Rect& viewport, const RAS_Rect& area);
244244
/// Debug draw lights shadow frustum of a scene.
245245
void DrawDebugShadowFrustum(KX_Scene *scene, RAS_DebugDraw& debugDraw);
246246

0 commit comments

Comments
 (0)