[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49899] trunk/blender/source/blender/ editors/space_view3d/drawmesh.c: patch [#32325] textured solid backface culling option

Campbell Barton ideasman42 at gmail.com
Tue Aug 14 20:01:58 CEST 2012


Revision: 49899
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49899
Author:   campbellbarton
Date:     2012-08-14 18:01:58 +0000 (Tue, 14 Aug 2012)
Log Message:
-----------
patch [#32325] textured solid backface culling option 
from Fredrik Hansson (fredrikh)

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

Modified: trunk/blender/source/blender/editors/space_view3d/drawmesh.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawmesh.c	2012-08-14 17:56:33 UTC (rev 49898)
+++ trunk/blender/source/blender/editors/space_view3d/drawmesh.c	2012-08-14 18:01:58 UTC (rev 49899)
@@ -344,6 +344,7 @@
 {
 	unsigned char obcol[4];
 	int is_tex, solidtex;
+	Mesh *me = ob->data;
 
 	/* XXX scene->obedit warning */
 
@@ -366,7 +367,6 @@
 	
 	rgba_float_to_uchar(obcol, ob->col);
 
-	glCullFace(GL_BACK); glEnable(GL_CULL_FACE);
 	if (solidtex || v3d->drawtype == OB_TEXTURE) is_tex = 1;
 	else is_tex = 0;
 
@@ -376,6 +376,14 @@
 	memcpy(Gtexdraw.obcol, obcol, sizeof(obcol));
 	set_draw_settings_cached(1, NULL, NULL, Gtexdraw);
 	glShadeModel(GL_SMOOTH);
+	if (v3d->flag2 & V3D_BACKFACE_CULLING) {
+		glEnable(GL_CULL_FACE);
+		glCullFace(GL_BACK);
+	}
+	else {		
+		glDisable(GL_CULL_FACE);
+	}
+	glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, (me->flag & ME_TWOSIDED) ? GL_TRUE : GL_FALSE);
 }
 
 static void draw_textured_end(void)




More information about the Bf-blender-cvs mailing list