diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-01-02 23:44:13 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-01-02 23:44:13 +0400 |
commit | 84437bb5e9342e67f448e26adb0c4b0811f3ef5c (patch) | |
tree | 40dddc252f209d364c1c213c0c40813c9de428db /intern | |
parent | 1e96b5f2841b16ce2fc6e5430d0bf5cdbac3e3a0 (diff) |
Fix #29695: cycles particle emitter not being properly hidden.
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/blender/blender_object.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index 608c5fda5ac..caf5b0a99b1 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -234,13 +234,20 @@ void BlenderSync::sync_objects(BL::SpaceView3D b_v3d) object_free_duplilist(*b_ob); - /* check if we should render duplicator */ hide = true; - BL::Object::particle_systems_iterator b_psys; + } + + /* check if we should render or hide particle emitter */ + BL::Object::particle_systems_iterator b_psys; + bool render_emitter = false; - for(b_ob->particle_systems.begin(b_psys); b_psys != b_ob->particle_systems.end(); ++b_psys) - if(b_psys->settings().use_render_emitter()) - hide = false; + for(b_ob->particle_systems.begin(b_psys); b_psys != b_ob->particle_systems.end(); ++b_psys) { + if(b_psys->settings().use_render_emitter()) { + hide = false; + render_emitter = true; + } + else if(!render_emitter) + hide = true; } if(!hide) { |