[Bf-blender-cvs] [49573b8] blender-v2.77-release: Fix T47931: Missed world shader update when having object dependency
Sergey Sharybin
noreply at git.blender.org
Tue Apr 5 10:38:26 CEST 2016
Commit: 49573b8e39bae2b70e3b391b8cd492a496f54110
Author: Sergey Sharybin
Date: Mon Mar 28 10:45:29 2016 +0200
Branches: blender-v2.77-release
https://developer.blender.org/rB49573b8e39bae2b70e3b391b8cd492a496f54110
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