[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33325] trunk/blender/source/blender/ render/intern/source/shadeoutput.c: Fix #24855: disabling shadows didn' t disable AO/env with ray transparency
Brecht Van Lommel
brechtvanlommel at pandora.be
Fri Nov 26 04:50:15 CET 2010
Revision: 33325
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33325
Author: blendix
Date: 2010-11-26 04:50:14 +0100 (Fri, 26 Nov 2010)
Log Message:
-----------
Fix #24855: disabling shadows didn't disable AO/env with ray transparency
and AO multiply mode.
Modified Paths:
--------------
trunk/blender/source/blender/render/intern/source/shadeoutput.c
Modified: trunk/blender/source/blender/render/intern/source/shadeoutput.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/shadeoutput.c 2010-11-26 03:37:08 UTC (rev 33324)
+++ trunk/blender/source/blender/render/intern/source/shadeoutput.c 2010-11-26 03:50:14 UTC (rev 33325)
@@ -1646,12 +1646,14 @@
if(R.wrld.mode & (WO_AMB_OCC|WO_ENV_LIGHT|WO_INDIRECT_LIGHT)) {
if(((passflag & SCE_PASS_COMBINED) && (shi->combinedflag & (SCE_PASS_AO|SCE_PASS_ENVIRONMENT|SCE_PASS_INDIRECT)))
|| (passflag & (SCE_PASS_AO|SCE_PASS_ENVIRONMENT|SCE_PASS_INDIRECT))) {
- /* AO was calculated for scanline already */
- if(shi->depth || shi->volume_depth)
- ambient_occlusion(shi);
- VECCOPY(shr->ao, shi->ao);
- VECCOPY(shr->env, shi->env); // XXX multiply
- VECCOPY(shr->indirect, shi->indirect); // XXX multiply
+ if(R.r.mode & R_SHADOW) {
+ /* AO was calculated for scanline already */
+ if(shi->depth || shi->volume_depth)
+ ambient_occlusion(shi);
+ VECCOPY(shr->ao, shi->ao);
+ VECCOPY(shr->env, shi->env); // XXX multiply
+ VECCOPY(shr->indirect, shi->indirect); // XXX multiply
+ }
}
}
@@ -1767,18 +1769,20 @@
/* from now stuff everything in shr->combined: ambient, AO, radio, ramps, exposure */
if(!(ma->sss_flag & MA_DIFF_SSS) || !sss_pass_done(&R, ma)) {
- /* add AO in combined? */
- if(R.wrld.mode & WO_AMB_OCC)
- if(shi->combinedflag & SCE_PASS_AO)
- ambient_occlusion_apply(shi, shr);
+ if(R.r.mode & R_SHADOW) {
+ /* add AO in combined? */
+ if(R.wrld.mode & WO_AMB_OCC)
+ if(shi->combinedflag & SCE_PASS_AO)
+ ambient_occlusion_apply(shi, shr);
- if(R.wrld.mode & WO_ENV_LIGHT)
- if(shi->combinedflag & SCE_PASS_ENVIRONMENT)
- environment_lighting_apply(shi, shr);
+ if(R.wrld.mode & WO_ENV_LIGHT)
+ if(shi->combinedflag & SCE_PASS_ENVIRONMENT)
+ environment_lighting_apply(shi, shr);
- if(R.wrld.mode & WO_INDIRECT_LIGHT)
- if(shi->combinedflag & SCE_PASS_INDIRECT)
- indirect_lighting_apply(shi, shr);
+ if(R.wrld.mode & WO_INDIRECT_LIGHT)
+ if(shi->combinedflag & SCE_PASS_INDIRECT)
+ indirect_lighting_apply(shi, shr);
+ }
shr->combined[0]+= shi->ambr;
shr->combined[1]+= shi->ambg;
More information about the Bf-blender-cvs
mailing list