diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-02-28 20:45:08 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-02-28 20:45:08 +0400 |
commit | 22abc63f676dc7681ee8f734cbc96a7279172d24 (patch) | |
tree | 8f945d2a9db54869802aa5eb24c975488c99edd1 /intern/cycles/render/background.cpp | |
parent | 6cb896ff0a7d24be3ff500585642ae5d61a5b788 (diff) |
Cycles: ambient occlusion support, with AO factor and distance, and a render pass.
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/World#Ambient_Occlusion
http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Passes#Lighting_Passes
Diffstat (limited to 'intern/cycles/render/background.cpp')
-rw-r--r-- | intern/cycles/render/background.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/intern/cycles/render/background.cpp b/intern/cycles/render/background.cpp index bf4131b6d38..c5b003fe6c5 100644 --- a/intern/cycles/render/background.cpp +++ b/intern/cycles/render/background.cpp @@ -31,6 +31,9 @@ CCL_NAMESPACE_BEGIN Background::Background() { + ao_factor = 0.0f; + ao_distance = FLT_MAX; + transparent = false; need_update = true; } @@ -48,6 +51,10 @@ void Background::device_update(Device *device, DeviceScene *dscene, Scene *scene /* set shader index and transparent option */ KernelBackground *kbackground = &dscene->data.background; + + kbackground->ao_factor = ao_factor; + kbackground->ao_distance = ao_distance; + kbackground->transparent = transparent; kbackground->shader = scene->shader_manager->get_shader_id(scene->default_background); @@ -60,7 +67,9 @@ void Background::device_free(Device *device, DeviceScene *dscene) bool Background::modified(const Background& background) { - return !(transparent == background.transparent); + return !(transparent == background.transparent && + ao_factor == background.ao_factor && + ao_distance == background.ao_distance); } void Background::tag_update(Scene *scene) |