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.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/intern/cycles/render/background.cpp b/intern/cycles/render/background.cpp
index 7bdcb1578c3..d2463454522 100644
--- a/intern/cycles/render/background.cpp
+++ b/intern/cycles/render/background.cpp
@@ -54,6 +54,7 @@ NODE_DEFINE(Background)
Background::Background() : Node(node_type)
{
+ need_update = true;
shader = NULL;
}
@@ -63,7 +64,7 @@ Background::~Background()
void Background::device_update(Device *device, DeviceScene *dscene, Scene *scene)
{
- if (!is_modified())
+ if (!need_update)
return;
scoped_callback_timer timer([scene](double time) {
@@ -101,7 +102,7 @@ void Background::device_update(Device *device, DeviceScene *dscene, Scene *scene
else
kbackground->volume_shader = SHADER_NONE;
- kbackground->volume_step_size = volume_step_size * scene->integrator->get_volume_step_rate();
+ kbackground->volume_step_size = volume_step_size * scene->integrator->volume_step_rate;
/* No background node, make world shader invisible to all rays, to skip evaluation in kernel. */
if (bg_shader->graph->nodes.size() <= 1) {
@@ -121,17 +122,22 @@ void Background::device_update(Device *device, DeviceScene *dscene, Scene *scene
kbackground->surface_shader |= SHADER_EXCLUDE_CAMERA;
}
- clear_modified();
+ need_update = false;
}
void Background::device_free(Device * /*device*/, DeviceScene * /*dscene*/)
{
}
+bool Background::modified(const Background &background)
+{
+ return !Node::equals(background);
+}
+
void Background::tag_update(Scene *scene)
{
scene->integrator->tag_update(scene);
- tag_modified();
+ need_update = true;
}
Shader *Background::get_shader(const Scene *scene)