From 0b8661ab4da1a7cfbc756640649a2d07bb36cc64 Mon Sep 17 00:00:00 2001 From: Benoit Bolsee Date: Mon, 13 Apr 2009 20:08:33 +0000 Subject: BGE: Occlusion culling and other performance improvements. Added occlusion culling capability in the BGE. More info: http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.49/Game_Engine#BGE_Scenegraph_improvement MSVC, scons, cmake, Makefile updated. Other minor performance improvements: - The rasterizer was computing the openGL model matrix of the objects too many times - DBVT view frustrum culling was not properly culling behind the near plane: Large objects behind the camera were sent to the GPU - Remove all references to mesh split/join feature as it is not yet functional --- source/gameengine/Rasterizer/RAS_MaterialBucket.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'source/gameengine/Rasterizer/RAS_MaterialBucket.cpp') diff --git a/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp b/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp index 69f73c2ee25..5ddcdd310b0 100644 --- a/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp +++ b/source/gameengine/Rasterizer/RAS_MaterialBucket.cpp @@ -62,10 +62,12 @@ RAS_MeshSlot::~RAS_MeshSlot() { vector::iterator it; +#ifdef USE_SPLIT Split(true); while(m_joinedSlots.size()) m_joinedSlots.front()->Split(true); +#endif for(it=m_displayArrays.begin(); it!=m_displayArrays.end(); it++) { (*it)->m_users--; @@ -428,11 +430,11 @@ bool RAS_MeshSlot::IsCulled() return true; if(!m_bCulled) return false; - +#ifdef USE_SPLIT for(it=m_joinedSlots.begin(); it!=m_joinedSlots.end(); it++) if(!(*it)->m_bCulled) return false; - +#endif return true; } -- cgit v1.2.3