diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-04-25 18:16:24 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-04-25 18:16:24 +0400 |
commit | 811587ce32750b6a6467aa952b251084cde92028 (patch) | |
tree | 9e93a9545bf410082c027e1f72c75fa3c4f2478a /intern/cycles/blender/blender_object.cpp | |
parent | c2d5c72245cfebb612ccb11c60777262c9c5994a (diff) |
Fix #35077: cycles incorrectly rendered an empty with dupligroup that was
dupliverted by its parent.
Diffstat (limited to 'intern/cycles/blender/blender_object.cpp')
-rw-r--r-- | intern/cycles/blender/blender_object.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index 33546bfa25e..5dbb46bda2e 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -353,6 +353,13 @@ static bool object_render_hide(BL::Object b_ob, bool top_level, bool parent_hide return hide && !show_emitter; } +static bool object_render_hide_duplis(BL::Object b_ob) +{ + BL::Object parent = b_ob.parent(); + + return (parent && object_render_hide_original(parent.dupli_type())); +} + /* Object Loop */ void BlenderSync::sync_objects(BL::SpaceView3D b_v3d, int motion) @@ -387,7 +394,7 @@ void BlenderSync::sync_objects(BL::SpaceView3D b_v3d, int motion) if(!hide) { progress.set_sync_status("Synchronizing object", (*b_ob).name()); - if(b_ob->is_duplicator()) { + if(b_ob->is_duplicator() && !object_render_hide_duplis(*b_ob)) { /* dupli objects */ b_ob->dupli_list_create(b_scene, 2); |