diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2015-11-27 23:16:26 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2015-12-06 21:35:15 +0300 |
commit | 82191b102fba685b0dbb70c1bffd4dafc8c538b6 (patch) | |
tree | 082f5d942a07a780e5307e8d53b2c8e5ccc692af /source/blender/editors/space_view3d/drawmesh.c | |
parent | 1eed354e530f395c14b290b4b504a1bcc9299fcb (diff) |
OpenGL: pass flag to indicate of drawMappedFaces needs to use normals.
Differential Revision: https://developer.blender.org/D1645
Diffstat (limited to 'source/blender/editors/space_view3d/drawmesh.c')
-rw-r--r-- | source/blender/editors/space_view3d/drawmesh.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c index afc48d2ff5e..cfffeb01b06 100644 --- a/source/blender/editors/space_view3d/drawmesh.c +++ b/source/blender/editors/space_view3d/drawmesh.c @@ -1235,13 +1235,14 @@ void draw_mesh_paint_weight_faces(DerivedMesh *dm, const bool use_light, void *facemask_cb, void *user_data) { DMSetMaterial setMaterial = GPU_object_materials_check() ? GPU_object_material_bind : NULL; + int flags = DM_DRAW_USE_COLORS; if (use_light) { draw_mesh_paint_light_begin(); + flags |= DM_DRAW_NEED_NORMALS; } - dm->drawMappedFaces(dm, (DMSetDrawOptions)facemask_cb, setMaterial, NULL, user_data, - DM_DRAW_USE_COLORS); + dm->drawMappedFaces(dm, (DMSetDrawOptions)facemask_cb, setMaterial, NULL, user_data, flags); if (use_light) { draw_mesh_paint_light_end(); @@ -1253,17 +1254,20 @@ void draw_mesh_paint_vcolor_faces(DerivedMesh *dm, const bool use_light, const Mesh *me) { DMSetMaterial setMaterial = GPU_object_materials_check() ? GPU_object_material_bind : NULL; + int flags = 0; if (use_light) { draw_mesh_paint_light_begin(); + flags |= DM_DRAW_NEED_NORMALS; } if (me->mloopcol) { - dm->drawMappedFaces(dm, facemask_cb, setMaterial, NULL, user_data, DM_DRAW_USE_COLORS); + dm->drawMappedFaces(dm, facemask_cb, setMaterial, NULL, user_data, + DM_DRAW_USE_COLORS | flags); } else { glColor3f(1.0f, 1.0f, 1.0f); - dm->drawMappedFaces(dm, facemask_cb, setMaterial, NULL, user_data, 0); + dm->drawMappedFaces(dm, facemask_cb, setMaterial, NULL, user_data, flags); } if (use_light) { |