Fix T40283: Matcaps disables GLSL shadows

This commit is contained in:
2014-05-22 11:28:03 +10:00
parent a217db0d63
commit 90db85a263
2 changed files with 6 additions and 2 deletions

View File

@@ -6943,7 +6943,11 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, const short
}
/* matcap check - only when not painting color */
if ((v3d->flag2 & V3D_SOLID_MATCAP) && (dt == OB_SOLID) && (is_paint == false && is_picking == false)) {
if ((v3d->flag2 & V3D_SOLID_MATCAP) &&
(dt == OB_SOLID) &&
(is_paint == false && is_picking == false) &&
((v3d->flag2 & V3D_RENDER_SHADOW) == 0))
{
draw_object_matcap_check(v3d, ob);
}

View File

@@ -2453,7 +2453,7 @@ static void gpu_update_lamps_shadows(Scene *scene, View3D *v3d)
v3d->drawtype = OB_SOLID;
v3d->lay &= GPU_lamp_shadow_layer(shadow->lamp);
v3d->flag2 &= ~V3D_SOLID_TEX;
v3d->flag2 &= ~V3D_SOLID_TEX | V3D_SHOW_SOLID_MATCAP;
v3d->flag2 |= V3D_RENDER_OVERRIDE | V3D_RENDER_SHADOW;
GPU_lamp_shadow_buffer_bind(shadow->lamp, viewmat, &winsize, winmat);