Revision: 40884
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40884
Author:   campbellbarton
Date:     2011-10-09 23:04:31 +0000 (Sun, 09 Oct 2011)
Log Message:
-----------
fix for editmode opengl drawing (bug from own recent optimization), need to set 
glShadeModel() outside glBegin(GL_QUADS / GL_TRIANGLES).

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

Modified: trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c        
2011-10-09 21:59:29 UTC (rev 40883)
+++ trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c        
2011-10-09 23:04:31 UTC (rev 40884)
@@ -697,9 +697,11 @@
                                else {
                                        const GLenum shade_type= drawSmooth ? 
GL_SMOOTH : GL_FLAT;
                                        if (shade_type != shade_prev) {
-                                               glShadeModel((shade_prev= 
shade_type));
+                                               if(poly_prev != GL_ZERO) 
glEnd();
+                                               glShadeModel((shade_prev= 
shade_type)); /* same as below but switch shading */
+                                               glBegin((poly_prev= poly_type));
                                        }
-                                       if(poly_type != poly_prev) {
+                                       else if(poly_type != poly_prev) {
                                                if(poly_prev != GL_ZERO) 
glEnd();
                                                glBegin((poly_prev= poly_type));
                                        }
@@ -762,9 +764,11 @@
                                else {
                                        const GLenum shade_type= drawSmooth ? 
GL_SMOOTH : GL_FLAT;
                                        if (shade_type != shade_prev) {
-                                               glShadeModel((shade_prev= 
shade_type));
+                                               if(poly_prev != GL_ZERO) 
glEnd();
+                                               glShadeModel((shade_prev= 
shade_type)); /* same as below but switch shading */
+                                               glBegin((poly_prev= poly_type));
                                        }
-                                       if(poly_type != poly_prev) {
+                                       else if(poly_type != poly_prev) {
                                                if(poly_prev != GL_ZERO) 
glEnd();
                                                glBegin((poly_prev= poly_type));
                                        }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to