[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39851] trunk/blender/source/gameengine/ Ketsji/KX_KetsjiEngine.cpp: BGE: Undoing r39729 and applying a simpler fix (ensuring that the viewport is correct for PostRenderScene()).

Mitchell Stokes mogurijin at gmail.com
Thu Sep 1 21:53:14 CEST 2011


Revision: 39851
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39851
Author:   moguri
Date:     2011-09-01 19:53:14 +0000 (Thu, 01 Sep 2011)
Log Message:
-----------
BGE: Undoing r39729 and applying a simpler fix (ensuring that the viewport is correct for PostRenderScene()). This way both 2d filters and post_draw callbacks with with multiple viewports.

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39729

Modified Paths:
--------------
    trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp

Modified: trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp	2011-09-01 19:43:57 UTC (rev 39850)
+++ trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp	2011-09-01 19:53:14 UTC (rev 39851)
@@ -886,8 +886,6 @@
 		{
 			if((*it)->GetViewport())
 			{
-				// Change the active camera so Python scripts can figure out what viewport they're in
-				scene->SetActiveCamera(*it);
 				if (scene->IsClearingZBuffer())
 					m_rasterizer->ClearDepthBuffer();
 		
@@ -899,10 +897,6 @@
 			
 			it++;
 		}
-
-		// Now change the camera back
-		scene->SetActiveCamera(cam);
-
 		PostRenderScene(scene);
 	}
 
@@ -1322,10 +1316,6 @@
 	
 	if (scene->GetPhysicsEnvironment())
 		scene->GetPhysicsEnvironment()->debugDrawWorld();
-
-#ifdef WITH_PYTHON
-	scene->RunDrawingCallbacks(scene->GetPostDrawCB());	
-#endif
 }
 
 void KX_KetsjiEngine::RenderFonts(KX_Scene* scene)
@@ -1345,8 +1335,14 @@
 */
 void KX_KetsjiEngine::PostRenderScene(KX_Scene* scene)
 {
+	// We need to first make sure our viewport is correct (enabling multiple viewports can mess this up)
+	m_canvas->SetViewPort(0, 0, m_canvas->GetWidth(), m_canvas->GetHeight());
+
 	m_rendertools->MotionBlur(m_rasterizer);
 	scene->Render2DFilters(m_canvas);
+#ifdef WITH_PYTHON
+	scene->RunDrawingCallbacks(scene->GetPostDrawCB());	
+#endif
 	m_rasterizer->FlushDebugLines();
 }
 




More information about the Bf-blender-cvs mailing list