Blender Git Loki
Git Commits -> Revision 0edd93e
Revision 0edd93e by Brecht Van Lommel (master) December 21, 2018, 15:05 (GMT) |
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 |
Commit Details:
Full Hash: 0edd93effbc1c0adf7aa9c5647ef69845496f669
Parent Commit: adec52a
Lines Changed: +170, -174
19 Modified Paths:
/intern/cycles/blender/blender_mesh.cpp (+4, -3) (Diff)
/intern/cycles/blender/blender_object.cpp (+8, -82) (Diff)
/intern/cycles/blender/blender_sync.h (+4, -2) (Diff)
/source/blender/blenkernel/BKE_object.h (+8, -7) (Diff)
/source/blender/blenkernel/intern/object.c (+25, -18) (Diff)
/source/blender/depsgraph/DEG_depsgraph_query.h (+1, -1) (Diff)
/source/blender/depsgraph/intern/depsgraph_query_iter.cc (+45, -26) (Diff)
/source/blender/draw/engines/eevee/eevee_engine.c (+3, -4) (Diff)
/source/blender/draw/engines/eevee/eevee_lightcache.c (+4, -2) (Diff)
/source/blender/draw/engines/eevee/eevee_render.c (+4, -2) (Diff)
/source/blender/draw/engines/gpencil/gpencil_engine.c (+1, -1) (Diff)
/source/blender/draw/engines/gpencil/gpencil_render.c (+5, -6) (Diff)
/source/blender/draw/engines/workbench/workbench_deferred.c (+5, -1) (Diff)
/source/blender/draw/engines/workbench/workbench_forward.c (+5, -1) (Diff)
/source/blender/draw/intern/draw_manager.c (+10, -8) (Diff)
/source/blender/draw/intern/DRW_render.h (+1, -1) (Diff)
/source/blender/draw/modes/object_mode.c (+6, -5) (Diff)
/source/blender/makesdna/DNA_object_types.h (+1, -1) (Diff)
/source/blender/makesrna/intern/rna_depsgraph.c (+30, -3) (Diff)
/intern/cycles/blender/blender_object.cpp (+8, -82) (Diff)
/intern/cycles/blender/blender_sync.h (+4, -2) (Diff)
/source/blender/blenkernel/BKE_object.h (+8, -7) (Diff)
/source/blender/blenkernel/intern/object.c (+25, -18) (Diff)
/source/blender/depsgraph/DEG_depsgraph_query.h (+1, -1) (Diff)
/source/blender/depsgraph/intern/depsgraph_query_iter.cc (+45, -26) (Diff)
/source/blender/draw/engines/eevee/eevee_engine.c (+3, -4) (Diff)
/source/blender/draw/engines/eevee/eevee_lightcache.c (+4, -2) (Diff)
/source/blender/draw/engines/eevee/eevee_render.c (+4, -2) (Diff)
/source/blender/draw/engines/gpencil/gpencil_engine.c (+1, -1) (Diff)
/source/blender/draw/engines/gpencil/gpencil_render.c (+5, -6) (Diff)
/source/blender/draw/engines/workbench/workbench_deferred.c (+5, -1) (Diff)
/source/blender/draw/engines/workbench/workbench_forward.c (+5, -1) (Diff)
/source/blender/draw/intern/draw_manager.c (+10, -8) (Diff)
/source/blender/draw/intern/DRW_render.h (+1, -1) (Diff)
/source/blender/draw/modes/object_mode.c (+6, -5) (Diff)
/source/blender/makesdna/DNA_object_types.h (+1, -1) (Diff)
/source/blender/makesrna/intern/rna_depsgraph.c (+30, -3) (Diff)