Commit: 76935072a6f04634b718ffb3bb18a7137ff89343
Author: Bastien Montagne
Date:   Sun Sep 28 16:08:33 2014 +0200
Branches: blender-v2.72-release
https://developer.blender.org/rB76935072a6f04634b718ffb3bb18a7137ff89343

Fix T41978: Shadow was not excluded from combined path unless shadow pass was 
rendered too.

Pretty straightforward, issue probably goes back to (pre)history!

===================================================================

M       source/blender/render/intern/source/shadeoutput.c

===================================================================

diff --git a/source/blender/render/intern/source/shadeoutput.c 
b/source/blender/render/intern/source/shadeoutput.c
index 427d0ee..e703ccc 100644
--- a/source/blender/render/intern/source/shadeoutput.c
+++ b/source/blender/render/intern/source/shadeoutput.c
@@ -1494,11 +1494,14 @@ static void shade_one_light(LampRen *lar, ShadeInput 
*shi, ShadeResult *shr, int
                                add_to_diffuse(shr->shad, shi, is, 
lashdw[0]*(i_noshad-i)*lacol[0], lashdw[1]*(i_noshad-i)*lacol[1], 
lashdw[2]*(i_noshad-i)*lacol[2]);
                        }
                        if (i_noshad>0.0f) {
-                               if (passflag & 
(SCE_PASS_DIFFUSE|SCE_PASS_SHADOW)) {
+                               if (passflag & 
(SCE_PASS_DIFFUSE|SCE_PASS_SHADOW) ||
+                                   ((passflag & SCE_PASS_COMBINED) && 
!(shi->combinedflag & SCE_PASS_SHADOW)))
+                               {
                                        add_to_diffuse(shr->diff, shi, is, 
i_noshad*lacol[0], i_noshad*lacol[1], i_noshad*lacol[2]);
                                }
-                               else
+                               else {
                                        copy_v3_v3(shr->diff, shr->shad);
+                               }
                        }
                }
                
@@ -1889,7 +1892,7 @@ void shade_lamp_loop(ShadeInput *shi, ShadeResult *shr)
                }
                
                if (shi->combinedflag & SCE_PASS_SHADOW)
-                       copy_v3_v3(shr->diffshad, shr->shad);   /* note, no ';' 
! */
+                       copy_v3_v3(shr->diffshad, shr->shad);
                else
                        copy_v3_v3(shr->diffshad, shr->diff);

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to