diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-12-26 11:34:48 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-12-26 11:36:45 +0300 |
commit | 836ea4b70f8811144e4ccb0a15003c7ab7ef244e (patch) | |
tree | b34de5b819d8e2a3173192b38c229ee6167d5ffd /intern/cycles/blender/blender_object.cpp | |
parent | 53ec177b7f0d20865355468fda9a626176808635 (diff) |
Fix T43019: Child of objectes used by duplis are visible in Cycles
Seems the parent check didn't go deep enough and only checked single parent.
Now it checks the chain of parents which seems to be correct but requires
much more intense testing.
Diffstat (limited to 'intern/cycles/blender/blender_object.cpp')
-rw-r--r-- | intern/cycles/blender/blender_object.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index 2fed7fd6240..e827d46223b 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -414,9 +414,17 @@ static bool object_render_hide(BL::Object b_ob, bool top_level, bool parent_hide /* hide original object for duplis */ BL::Object parent = b_ob.parent(); - if(parent && object_render_hide_original(b_ob.type(), parent.dupli_type())) - if(parent_hide) - hide_as_dupli_child_original = true; + while(parent) { + if(object_render_hide_original(b_ob.type(), + parent.dupli_type())) + { + if(parent_hide) { + hide_as_dupli_child_original = true; + break; + } + } + parent = parent.parent(); + } hide_triangles = hide_emitter; |