[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58755] branches/soc-2013-bge/source/ gameengine/Ketsji: Moved the level of detail update after culling, and only doing the update for objects that have not been culled.

Daniel Stokes kupomail at gmail.com
Wed Jul 31 07:42:32 CEST 2013


Revision: 58755
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58755
Author:   kupoman
Date:     2013-07-31 05:42:32 +0000 (Wed, 31 Jul 2013)
Log Message:
-----------
Moved the level of detail update after culling, and only doing the update for objects that have not been culled.

Modified Paths:
--------------
    branches/soc-2013-bge/source/gameengine/Ketsji/KX_Dome.cpp
    branches/soc-2013-bge/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
    branches/soc-2013-bge/source/gameengine/Ketsji/KX_Scene.cpp

Modified: branches/soc-2013-bge/source/gameengine/Ketsji/KX_Dome.cpp
===================================================================
--- branches/soc-2013-bge/source/gameengine/Ketsji/KX_Dome.cpp	2013-07-31 05:33:28 UTC (rev 58754)
+++ branches/soc-2013-bge/source/gameengine/Ketsji/KX_Dome.cpp	2013-07-31 05:42:32 UTC (rev 58755)
@@ -2047,6 +2047,10 @@
 	cam->NodeUpdateGS(0.f);
 
 	scene->CalculateVisibleMeshes(m_rasterizer,cam);
+
+	// update levels of detail
+	scene->UpdateObjectLods();
+
 	scene->RenderBuckets(camtrans, m_rasterizer, m_rendertools);
 }
 

Modified: branches/soc-2013-bge/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
===================================================================
--- branches/soc-2013-bge/source/gameengine/Ketsji/KX_KetsjiEngine.cpp	2013-07-31 05:33:28 UTC (rev 58754)
+++ branches/soc-2013-bge/source/gameengine/Ketsji/KX_KetsjiEngine.cpp	2013-07-31 05:42:32 UTC (rev 58755)
@@ -322,9 +322,6 @@
 			// pass the scene's worldsettings to the rasterizer
 			SetWorldSettings(scene->GetWorldInfo());
 
-			// update levels of detail
-			scene->UpdateObjectLods();
-
 			// shadow buffers
 			if (i == 0) {
 				RenderShadowBuffers(scene);
@@ -895,9 +892,6 @@
 		// this is now done incrementatlly in KX_Scene::CalculateVisibleMeshes
 		//scene->UpdateMeshTransformations();
 
-		// update levels of detail
-		scene->UpdateObjectLods();
-
 		// shadow buffers
 		RenderShadowBuffers(scene);
 
@@ -1331,6 +1325,9 @@
 
 	scene->CalculateVisibleMeshes(m_rasterizer,cam);
 
+	// update levels of detail
+	scene->UpdateObjectLods();
+
 	m_logger->StartLog(tc_rasterizer, m_kxsystem->GetTimeInSeconds(), true);
 	SG_SetActiveStage(SG_STAGE_RENDER);
 

Modified: branches/soc-2013-bge/source/gameengine/Ketsji/KX_Scene.cpp
===================================================================
--- branches/soc-2013-bge/source/gameengine/Ketsji/KX_Scene.cpp	2013-07-31 05:33:28 UTC (rev 58754)
+++ branches/soc-2013-bge/source/gameengine/Ketsji/KX_Scene.cpp	2013-07-31 05:42:32 UTC (rev 58755)
@@ -1701,7 +1701,9 @@
 
 	for (int i = 0; i < this->GetObjectList()->GetCount(); i++) {
 		gameobj = (KX_GameObject*) GetObjectList()->GetValue(i);
-		gameobj->UpdateLod(cam_pos);
+		if (!gameobj->GetCulled()){
+			gameobj->UpdateLod(cam_pos);
+		}
 	}
 }
 




More information about the Bf-blender-cvs mailing list