diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-12-03 20:14:16 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-12-03 20:14:16 +0400 |
commit | 462751688449108899a821f500cffc03658d6e3d (patch) | |
tree | b932e8a22d0ffd1be21932657bcabcc2ae23e575 /source/blender | |
parent | d3f3fb89cc2f5745df2b2c1adb0b4db047a3303c (diff) |
Fix T37663: Black matcap when object located on a curve
Summary:
Issue was caused by GLSL samplers not valid anymore after
dupliobject was drawn into OpenGL displist.
Solution for now is to not use displist for active object
when matcap is used.
The same issue exists for regular GLSL viewport draw, and
this was solved by disabling diplist if draw_glsl_material
returns truth for current dupliobject.
Reviewers: brecht
Reviewed By: brecht
Maniphest Tasks: T37663
Differential Revision: http://developer.blender.org/D70
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_draw.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 3d260378c77..19329765e1e 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -2019,7 +2019,9 @@ static void draw_dupli_objects_color(Scene *scene, ARegion *ar, View3D *v3d, Bas /* lamp drawing messes with matrices, could be handled smarter... but this works */ (dob->ob->type == OB_LAMP) || (dob->type == OB_DUPLIGROUP && dob->animated) || - !(bb_tmp = BKE_object_boundbox_get(dob->ob))) + !(bb_tmp = BKE_object_boundbox_get(dob->ob)) || + draw_glsl_material(scene, dob->ob, v3d, dt) || + (base->object == OBACT && v3d->flag2 & V3D_SOLID_MATCAP)) { // printf("draw_dupli_objects_color: skipping displist for %s\n", dob->ob->id.name + 2); use_displist = false; |