[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40884] trunk/blender/source/blender/ blenkernel/intern/DerivedMesh.c: fix for editmode opengl drawing ( bug from own recent optimization), need to set glShadeModel() outside glBegin(GL_QUADS / GL_TRIANGLES).
Campbell Barton
ideasman42 at gmail.com
Mon Oct 10 01:04:32 CEST 2011
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));
}
More information about the Bf-blender-cvs
mailing list