From 02b9ba16bcdd757d3fe98ebcd13dce37869fcf55 Mon Sep 17 00:00:00 2001 From: Mitchell Stokes Date: Mon, 23 Jul 2012 01:00:56 +0000 Subject: [PATCH] Fix for bug [#26122] "Overlay scene gets transparent when motion blur is enabled" reported by Alberto Torres Ruiz (dithi). The problem is motion blur was being treated as a per scene operation, but all scenes were trying to use the same accumulation buffer. Now motion blur is done in EndFrame() instead of PostRenderScene(). --- source/gameengine/Ketsji/KX_KetsjiEngine.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp index 21c3198b8f9..940f8e5c6fe 100644 --- a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp +++ b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp @@ -503,6 +503,8 @@ bool KX_KetsjiEngine::BeginFrame() void KX_KetsjiEngine::EndFrame() { + m_rendertools->MotionBlur(m_rasterizer); + // Show profiling info m_logger->StartLog(tc_overhead, m_kxsystem->GetTimeInSeconds(), true); if (m_show_framerate || m_show_profile || (m_show_debug_properties && m_propertiesPresent)) @@ -1344,7 +1346,6 @@ void KX_KetsjiEngine::PostRenderScene(KX_Scene* scene) m_canvas->SetViewPort(0, 0, m_canvas->GetWidth(), m_canvas->GetHeight()); m_rasterizer->FlushDebugShapes(); - m_rendertools->MotionBlur(m_rasterizer); scene->Render2DFilters(m_canvas); #ifdef WITH_PYTHON scene->RunDrawingCallbacks(scene->GetPostDrawCB());