[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36347] trunk/blender/source/blender/ blenkernel/intern/cdderivedmesh.c: comment regarding bug [#27175] UV faces show incorrect image in object mode (VBO's)

Campbell Barton ideasman42 at gmail.com
Wed Apr 27 07:12:07 CEST 2011


Revision: 36347
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36347
Author:   campbellbarton
Date:     2011-04-27 05:12:07 +0000 (Wed, 27 Apr 2011)
Log Message:
-----------
comment regarding bug [#27175] UV faces show incorrect image in object mode (VBO's)

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c

Modified: trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c	2011-04-27 04:57:57 UTC (rev 36346)
+++ trunk/blender/source/blender/blenkernel/intern/cdderivedmesh.c	2011-04-27 05:12:07 UTC (rev 36347)
@@ -770,6 +770,19 @@
 		}
 
 		if( !GPU_buffer_legacy(dm) ) {
+			/* warning!, this logic is incorrect, see bug [#27175]
+			 * firstly, there are no checks for changes in context, such as texface image.
+			 * secondly, drawParams() sets the GL context, so checking if there is a change
+			 * from lastFlag is too late once glDrawArrays() runs, since drawing the arrays
+			 * will use the modified, OpenGL settings.
+			 * 
+			 * However its tricky to fix this without duplicating the internal logic
+			 * of drawParams(), perhaps we need an argument like...
+			 * drawParams(..., keep_gl_state_but_return_when_changed) ?.
+			 *
+			 * We could also just disable VBO's here, since texface may be deprecated - campbell.
+			 */
+			
 			glShadeModel( GL_SMOOTH );
 			lastFlag = 0;
 			for(i = 0; i < dm->drawObject->nelements/3; i++) {




More information about the Bf-blender-cvs mailing list