diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-02-08 09:45:16 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-02-08 09:45:16 +0400 |
commit | 19d0f93099b0964fca66c4f4b1651260b749a73d (patch) | |
tree | dbc9dabdc2e87dba0d35d0a947b70abb5f07af08 /source/blender/render | |
parent | 873fe5cb59deac0918135e2226c6d2b3cbc743ef (diff) | |
parent | 054e10ac135eee0eb6d4a0e3ca5a3e8ae5a94cea (diff) |
svn merge ^/trunk/blender -r43934:43976
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/shadeoutput.c | 11 |
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); + } } |