[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23620] trunk/blender/source/blender/ editors/space_view3d/drawobject.c: VBOs weren' t fully turned off in edit mode.

Lukas Steiblys imbusy at imbusy.org
Sun Oct 4 00:14:21 CEST 2009


Revision: 23620
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23620
Author:   imbusy
Date:     2009-10-04 00:14:19 +0200 (Sun, 04 Oct 2009)

Log Message:
-----------
VBOs weren't fully turned off in edit mode. Fixed that

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/drawobject.c

Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c	2009-10-03 21:48:15 UTC (rev 23619)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c	2009-10-03 22:14:19 UTC (rev 23620)
@@ -1571,7 +1571,7 @@
 	data.eve_act = eve_act;
 
 	/* first come the unselected vertices, then the selected */
-	buffer = GPU_buffer_alloc( sizeof(float)*3*dm->getNumVerts(dm)*2, 0 );
+	buffer = GPU_buffer_legacy(dm)?0:GPU_buffer_alloc( sizeof(float)*3*dm->getNumVerts(dm)*2, 0 );
 
 	if( (varray = GPU_buffer_lock_stream( buffer )) && bglPointHack() == 0 ) {
 		EditMeshDerivedMesh *emdm= (EditMeshDerivedMesh*) dm;
@@ -1698,7 +1698,7 @@
 	cols[0] = baseCol;
 	cols[1] = selCol;
 
-	buffer = GPU_buffer_alloc( elemsize*em->totedge*2, 0 );
+	buffer = GPU_buffer_legacy(dm)?0:GPU_buffer_alloc( elemsize*em->totedge*2, 0 );
 	if( (varray = GPU_buffer_lock_stream( buffer )) ) {
 		EditEdge *eed;
 		int numedges = 0;
@@ -1804,7 +1804,7 @@
 	data.efa_act = efa_act;
 
 
-	buffer = GPU_buffer_alloc( elemsize*dm->getNumFaces(dm)*3*2, 0 );
+	buffer = GPU_buffer_legacy(dm)?0:GPU_buffer_alloc( elemsize*dm->getNumFaces(dm)*3*2, 0 );
 	if( dm->getVertCos == 0 && (varray = GPU_buffer_lock_stream( buffer )) ) {
 		int prevdraw = 0;
 		int numfaces = 0;
@@ -2433,7 +2433,7 @@
 		}
 		else {
 			/* 3 floats for position, 3 for normal and times two because the faces may actually be quads instead of triangles */
-			GPUBuffer *buffer = GPU_buffer_alloc( sizeof(float)*6*em->totface*3*2, 0 );
+			GPUBuffer *buffer = GPU_buffer_legacy(em->derivedFinal)?0:GPU_buffer_alloc( sizeof(float)*6*em->totface*3*2, 0 );
 			float *varray;
 			EditFace *efa;
 			int i, curmat = 0, draw = 0;





More information about the Bf-blender-cvs mailing list