[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39729] trunk/blender/source/gameengine/ Ketsji/KX_KetsjiEngine.cpp: BGE: Post drawing callbacks are now done per viewport instead of per scene.

Mitchell Stokes mogurijin at gmail.com
Sat Aug 27 05:19:49 CEST 2011


Revision: 39729
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39729
Author:   moguri
Date:     2011-08-27 03:19:46 +0000 (Sat, 27 Aug 2011)
Log Message:
-----------
BGE: Post drawing callbacks are now done per viewport instead of per scene. This is handy for things like having a different HUD for each player in a splitscreen game. To figure out what viewport you're drawing too, check the scene's active_camera.

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-08-27 03:13:54 UTC (rev 39728)
+++ trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp	2011-08-27 03:19:46 UTC (rev 39729)
@@ -862,6 +862,8 @@
 		{
 			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();
 		
@@ -873,6 +875,10 @@
 			
 			it++;
 		}
+
+		// Now change the camera back
+		scene->SetActiveCamera(cam);
+
 		PostRenderScene(scene);
 	}
 
@@ -1315,6 +1321,10 @@
 	
 	if (scene->GetPhysicsEnvironment())
 		scene->GetPhysicsEnvironment()->debugDrawWorld();
+
+#ifdef WITH_PYTHON
+	scene->RunDrawingCallbacks(scene->GetPostDrawCB());	
+#endif
 }
 
 void KX_KetsjiEngine::RenderFonts(KX_Scene* scene)
@@ -1336,9 +1346,6 @@
 {
 	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