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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-02-28 20:45:08 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-02-28 20:45:08 +0400
commit22abc63f676dc7681ee8f734cbc96a7279172d24 (patch)
tree8f945d2a9db54869802aa5eb24c975488c99edd1 /intern/cycles/render/background.cpp
parent6cb896ff0a7d24be3ff500585642ae5d61a5b788 (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.cpp11
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)