[Bf-blender-cvs] [e2e72a2] master: Fix T47931: Missed world shader update when having object dependency
Sergey Sharybin
noreply at git.blender.org
Mon Mar 28 10:45:48 CEST 2016
Commit: e2e72a20ec979984114069f55363785f72428f28
Author: Sergey Sharybin
Date: Mon Mar 28 10:45:29 2016 +0200
Branches: master
https://developer.blender.org/rBe2e72a20ec979984114069f55363785f72428f28
Fix T47931: Missed world shader update when having object dependency
===================================================================
M intern/cycles/blender/blender_sync.cpp
===================================================================
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index 3098522..749b8c0 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -133,10 +133,18 @@ bool BlenderSync::sync_recalc()
BL::BlendData::worlds_iterator b_world;
for(b_data.worlds.begin(b_world); b_world != b_data.worlds.end(); ++b_world) {
- if(world_map == b_world->ptr.data &&
- (b_world->is_updated() || (b_world->node_tree() && b_world->node_tree().is_updated())))
- {
- world_recalc = true;
+ if(world_map == b_world->ptr.data) {
+ if(b_world->is_updated() ||
+ (b_world->node_tree() && b_world->node_tree().is_updated()))
+ {
+ world_recalc = true;
+ }
+ else if(b_world->node_tree() && b_world->use_nodes()) {
+ Shader *shader = scene->shaders[scene->default_background];
+ if(has_updated_objects && shader != NULL && shader->has_object_dependency) {
+ world_recalc = true;
+ }
+ }
}
}
More information about the Bf-blender-cvs
mailing list