[Bf-blender-cvs] [7693507] blender-v2.72-release: Fix T41978: Shadow was not excluded from combined path unless shadow pass was rendered too.

Bastien Montagne noreply at git.blender.org
Fri Oct 3 15:24:25 CEST 2014


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);




More information about the Bf-blender-cvs mailing list