Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-08-14 22:01:58 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-08-14 22:01:58 +0400
commit8b941a80c94e1123f060da8e5406c7ac36952b5a (patch)
tree43dcc7052f44e6a3b224d63f5911b1f4597d5219 /source/blender/editors/space_view3d/drawmesh.c
parente83ef85576a04c41b719176f7797596fe9866a2c (diff)
patch [#32325] textured solid backface culling option
from Fredrik Hansson (fredrikh)
Diffstat (limited to 'source/blender/editors/space_view3d/drawmesh.c')
-rw-r--r--source/blender/editors/space_view3d/drawmesh.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c
index 112f41278b7..5069c4219c3 100644
--- a/source/blender/editors/space_view3d/drawmesh.c
+++ b/source/blender/editors/space_view3d/drawmesh.c
@@ -344,6 +344,7 @@ static void draw_textured_begin(Scene *scene, View3D *v3d, RegionView3D *rv3d, O
{
unsigned char obcol[4];
int is_tex, solidtex;
+ Mesh *me = ob->data;
/* XXX scene->obedit warning */
@@ -366,7 +367,6 @@ static void draw_textured_begin(Scene *scene, View3D *v3d, RegionView3D *rv3d, O
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 @@ static void draw_textured_begin(Scene *scene, View3D *v3d, RegionView3D *rv3d, O
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)