diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2013-11-27 20:14:53 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2013-11-27 20:17:25 +0400 |
commit | f67dda689349b093ce1d11c2cba5ebb48dba8c45 (patch) | |
tree | 599af8fd4026ddba9b267121bdef2365b5bfd0a0 /intern | |
parent | 12b4a67e9598be51a4403de1777cad51dc94067a (diff) |
Fix T37159: cycles rendering particle emitter mesh incorrectly when using non-hair particles.
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/blender/blender_object.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index 4b93a5b614f..849ca963de6 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -357,6 +357,7 @@ static bool object_render_hide(BL::Object b_ob, bool top_level, bool parent_hide bool hair_present = false; bool show_emitter = false; + bool hide_emitter = false; bool hide_as_dupli_parent = false; bool hide_as_dupli_child_original = false; @@ -367,8 +368,13 @@ static bool object_render_hide(BL::Object b_ob, bool top_level, bool parent_hide if(b_psys->settings().use_render_emitter()) show_emitter = true; + else + hide_emitter = true; } + if(show_emitter) + hide_emitter = false; + /* duplicators hidden by default, except dupliframes which duplicate self */ if(b_ob.is_duplicator()) if(top_level || b_ob.dupli_type() != BL::Object::dupli_type_FRAMES) @@ -386,11 +392,11 @@ static bool object_render_hide(BL::Object b_ob, bool top_level, bool parent_hide } else if(hair_present) { hide_triangles = true; - return hide_as_dupli_child_original; + return (hide_emitter || hide_as_dupli_child_original); } else { hide_triangles = false; - return (hide_as_dupli_parent || hide_as_dupli_child_original); + return (hide_emitter || hide_as_dupli_parent || hide_as_dupli_child_original); } } |