From 3527c100652f029db7a0e5af27a16456ff5ae1df Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 7 May 2008 20:24:06 +0000 Subject: [PATCH] Fix for bug #10932: area light bug, points behind the lamp could also get lit. --- source/blender/render/intern/source/shadeoutput.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/blender/render/intern/source/shadeoutput.c b/source/blender/render/intern/source/shadeoutput.c index 9f14db2f425..0928042729a 100644 --- a/source/blender/render/intern/source/shadeoutput.c +++ b/source/blender/render/intern/source/shadeoutput.c @@ -477,8 +477,12 @@ static float area_lamp_energy_multisample(LampRen *lar, float *co, float *vn) float *jitlamp= lar->jitter, vec[3]; float area[4][3], intens= 0.0f; int a= lar->ray_totsamp; - - + + /* test if co is behind lamp */ + VECSUB(vec, co, lar->co); + if(INPR(vec, lar->vec) < 0.0f) + return 0.0f; + while(a--) { vec[0]= jitlamp[0]; vec[1]= jitlamp[1];