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:
Diffstat (limited to 'intern/cycles/render/background.cpp')
-rw-r--r--intern/cycles/render/background.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/intern/cycles/render/background.cpp b/intern/cycles/render/background.cpp
index 5fd7bd8f16f..0cd164dc03e 100644
--- a/intern/cycles/render/background.cpp
+++ b/intern/cycles/render/background.cpp
@@ -33,7 +33,8 @@ Background::Background()
ao_factor = 0.0f;
ao_distance = FLT_MAX;
- use = true;
+ use_shader = true;
+ use_ao = false;
visibility = PATH_RAY_ALL_VISIBILITY;
shader = 0;
@@ -53,7 +54,7 @@ void Background::device_update(Device *device, DeviceScene *dscene, Scene *scene
device_free(device, dscene);
- if(use)
+ if(use_shader)
shader = scene->default_background;
else
shader = scene->default_empty;
@@ -61,8 +62,14 @@ 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;
+ if(use_ao) {
+ kbackground->ao_factor = ao_factor;
+ kbackground->ao_distance = ao_distance;
+ }
+ else {
+ kbackground->ao_factor = 0.0f;
+ kbackground->ao_distance = FLT_MAX;
+ }
kbackground->transparent = transparent;
kbackground->surface_shader = scene->shader_manager->get_shader_id(shader);
@@ -100,7 +107,8 @@ void Background::device_free(Device * /*device*/, DeviceScene * /*dscene*/)
bool Background::modified(const Background& background)
{
return !(transparent == background.transparent &&
- use == background.use &&
+ use_shader == background.use_shader &&
+ use_ao == background.use_ao &&
ao_factor == background.ao_factor &&
ao_distance == background.ao_distance &&
visibility == background.visibility);