Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-02-08 09:45:16 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-02-08 09:45:16 +0400
commit19d0f93099b0964fca66c4f4b1651260b749a73d (patch)
treedbc9dabdc2e87dba0d35d0a947b70abb5f07af08 /source/blender/render
parent873fe5cb59deac0918135e2226c6d2b3cbc743ef (diff)
parent054e10ac135eee0eb6d4a0e3ca5a3e8ae5a94cea (diff)
svn merge ^/trunk/blender -r43934:43976
Diffstat (limited to 'source/blender/render')
-rw-r--r--source/blender/render/intern/source/shadeoutput.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/source/blender/render/intern/source/shadeoutput.c b/source/blender/render/intern/source/shadeoutput.c
index 0e9cfd11a68..9aac7aae53e 100644
--- a/source/blender/render/intern/source/shadeoutput.c
+++ b/source/blender/render/intern/source/shadeoutput.c
@@ -1030,12 +1030,17 @@ static void do_specular_ramp(ShadeInput *shi, float is, float t, float spec[3])
/* preprocess, textures were not done, don't use shi->amb for that reason */
void ambient_occlusion(ShadeInput *shi)
{
- if(R.wrld.ao_gather_method == WO_AOGATHER_APPROX)
+ if((R.wrld.ao_gather_method == WO_AOGATHER_APPROX) && shi->mat->amb!=0.0f) {
sample_occ(&R, shi);
- else if(R.r.mode & R_RAYTRACE)
+ }
+ else if((R.r.mode & R_RAYTRACE) && shi->mat->amb!=0.0f) {
ray_ao(shi, shi->ao, shi->env);
- else
+ }
+ else {
shi->ao[0]= shi->ao[1]= shi->ao[2]= 1.0f;
+ zero_v3(shi->env);
+ zero_v3(shi->indirect);
+ }
}