diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-12-18 20:18:00 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-12-21 18:05:48 +0300 |
commit | 0edd93effbc1c0adf7aa9c5647ef69845496f669 (patch) | |
tree | 66cf32ac697824226fa8de790b0d70ada5ce42b5 /intern/cycles/blender/blender_sync.h | |
parent | adec52a8a843a5224e1e59a1dfdcff4986d7dc18 (diff) |
Fix inconsistent/broken Cycles object visibility for instances.
Object visibility is now handled by the depsgraph iterator, but this API
was incomplete as it made no distinction for visibility of the object itself,
particles and generated instances.
The depsgraph iterator API now includes information about which part of the
object is visible, and this is used by Cycles to replace the old custom logic.
Cycles and EEVEE visibility should now be consistent, which unfortunately does
means some subtle compatibility breakage for both.
Fixes T58956, T58202, T59284.
Differential Revision: https://developer.blender.org/D4109
Diffstat (limited to 'intern/cycles/blender/blender_sync.h')
-rw-r--r-- | intern/cycles/blender/blender_sync.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/intern/cycles/blender/blender_sync.h b/intern/cycles/blender/blender_sync.h index 8af0de39a47..7290ea0cee0 100644 --- a/intern/cycles/blender/blender_sync.h +++ b/intern/cycles/blender/blender_sync.h @@ -117,7 +117,8 @@ private: BL::Object& b_ob, BL::Object& b_ob_instance, bool object_updated, - bool hide_tris); + bool show_self, + bool show_particles); void sync_curves(Mesh *mesh, BL::Mesh& b_mesh, BL::Object& b_ob, @@ -127,7 +128,8 @@ private: BL::ViewLayer& b_view_layer, BL::DepsgraphObjectInstance& b_instance, float motion_time, - bool hide_tris, + bool show_self, + bool show_particles, BlenderObjectCulling& culling, bool *use_portal); void sync_light(BL::Object& b_parent, |