diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-11-12 22:12:30 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-11-12 22:35:42 +0300 |
commit | 930771d0cf6bf296b42849b675a1e0c52d04c003 (patch) | |
tree | f700926ade02818616a468ed144547c95d849f82 /source/blender/editors/space_view3d/drawmesh.c | |
parent | bd9005ef3b88a554c2a89e85824ed5d7a0fff33a (diff) |
Fix T46749: Texture paint & shadeless mode fails
Using shadeless did nothing in texture-paint mode.
(regression in 2.76)
Diffstat (limited to 'source/blender/editors/space_view3d/drawmesh.c')
-rw-r--r-- | source/blender/editors/space_view3d/drawmesh.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c index 5b4322e6cf4..9fac4ca2265 100644 --- a/source/blender/editors/space_view3d/drawmesh.c +++ b/source/blender/editors/space_view3d/drawmesh.c @@ -410,9 +410,15 @@ static void draw_textured_begin(Scene *scene, View3D *v3d, RegionView3D *rv3d, O solidtex = false; Gtexdraw.is_lit = 0; } + else if ((ob->mode & OB_MODE_TEXTURE_PAINT) && BKE_scene_use_new_shading_nodes(scene)) { + solidtex = true; + if (v3d->flag2 & V3D_SHADELESS_TEX) + Gtexdraw.is_lit = 0; + else + Gtexdraw.is_lit = -1; + } else if ((v3d->drawtype == OB_SOLID) || - ((ob->mode & OB_MODE_EDIT) && (v3d->drawtype != OB_TEXTURE)) || - ((ob->mode & OB_MODE_TEXTURE_PAINT) && BKE_scene_use_new_shading_nodes(scene))) + ((ob->mode & OB_MODE_EDIT) && (v3d->drawtype != OB_TEXTURE))) { /* draw with default lights in solid draw mode and edit mode */ solidtex = true; @@ -1132,10 +1138,14 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, if (ob->transflag & OB_NEG_SCALE) glFrontFace(GL_CW); else glFrontFace(GL_CCW); - if ((v3d->drawtype == OB_TEXTURE) && (v3d->flag2 & V3D_SHADELESS_TEX)) + if ((v3d->flag2 & V3D_SHADELESS_TEX) && + ((v3d->drawtype == OB_TEXTURE) || (ob->mode & OB_MODE_TEXTURE_PAINT))) + { glColor3f(1.0f, 1.0f, 1.0f); - else + } + else { glEnable(GL_LIGHTING); + } { Mesh *me = ob->data; |