[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39245] branches/soc-2011-cucumber: Recently VBOs started acting up when using display lists.

Daniel Stokes kupomail at gmail.com
Wed Aug 10 09:39:10 CEST 2011


Revision: 39245
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39245
Author:   kupoman
Date:     2011-08-10 07:39:10 +0000 (Wed, 10 Aug 2011)
Log Message:
-----------
Recently VBOs started acting up when using display lists. Since the two really shouldn't be used together, and since using the two together cause no performance gain, display lists are disabled when VBO is chosen as the storage type. This is also reflected in the UI.

Modified Paths:
--------------
    branches/soc-2011-cucumber/release/scripts/startup/bl_ui/properties_game.py
    branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
    branches/soc-2011-cucumber/source/gameengine/GamePlayer/ghost/GPG_Application.cpp

Modified: branches/soc-2011-cucumber/release/scripts/startup/bl_ui/properties_game.py
===================================================================
--- branches/soc-2011-cucumber/release/scripts/startup/bl_ui/properties_game.py	2011-08-10 07:36:57 UTC (rev 39244)
+++ branches/soc-2011-cucumber/release/scripts/startup/bl_ui/properties_game.py	2011-08-10 07:39:10 UTC (rev 39245)
@@ -420,8 +420,11 @@
 
         gs = context.scene.game_settings
         row = layout.row()
-        row.prop(gs, "use_frame_rate")
-        row.prop(gs, "use_display_lists")
+        col = row.column()
+        col.prop(gs, "use_frame_rate")
+        col = row.column()
+        col.prop(gs, "use_display_lists")
+        col.active = gs.raster_storage != 'VERTEX_BUFFER_OBJECT'
         
         row = layout.row()
         row.prop(gs, "raster_storage")

Modified: branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
===================================================================
--- branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp	2011-08-10 07:36:57 UTC (rev 39244)
+++ branches/soc-2011-cucumber/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp	2011-08-10 07:39:10 UTC (rev 39245)
@@ -199,7 +199,9 @@
 		RAS_IRenderTools* rendertools = new KX_BlenderRenderTools();
 		RAS_IRasterizer* rasterizer = NULL;
 		
-		if(displaylists)
+		//Don't use displaylists with VBOs
+		//If auto starts using VBOs, make sure to check for that here
+		if(displaylists && startscene->gm.raster_storage != RAS_STORE_VBO)
 			rasterizer = new RAS_ListRasterizer(canvas, true, startscene->gm.raster_storage);
 		else
 			rasterizer = new RAS_OpenGLRasterizer(canvas, startscene->gm.raster_storage);

Modified: branches/soc-2011-cucumber/source/gameengine/GamePlayer/ghost/GPG_Application.cpp
===================================================================
--- branches/soc-2011-cucumber/source/gameengine/GamePlayer/ghost/GPG_Application.cpp	2011-08-10 07:36:57 UTC (rev 39244)
+++ branches/soc-2011-cucumber/source/gameengine/GamePlayer/ghost/GPG_Application.cpp	2011-08-10 07:39:10 UTC (rev 39245)
@@ -570,7 +570,9 @@
 		if (!m_rendertools)
 			goto initFailed;
 		
-		if(useLists)
+		//Don't use displaylists with VBOs
+		//If auto starts using VBOs, make sure to check for that here
+		if(useLists && gm->raster_storage != RAS_STORE_VBO)
 			m_rasterizer = new RAS_ListRasterizer(m_canvas, false, gm->raster_storage);
 		else
 			m_rasterizer = new RAS_OpenGLRasterizer(m_canvas, gm->raster_storage);




More information about the Bf-blender-cvs mailing list