Blender Git Commit Log

Git Commits -> Revision ee4ec69

Revision ee4ec69 by Antonio Vazquez (master)
August 23, 2019, 21:10 (GMT)
Fix T66924 : Move GPencil Modifiers evaluation to Depsgraph

Before, the evaluation of modifers were done in draw manager. The reason of the old design was grease pencil was designed before depsgraph was in place.

This commit moves this logic to depsgraph to follow general design and reduce Draw Manager complexity. Also, this is required in order to use modifiers in Edit modes.

Really, there is nothing really new in the creation of derived data, only the logic has been moved to depsgraph, but the main logic is the same. In order to get a reference to the original stroke and points, a pointer is added to Runtime data as part of the evaluated data. These pointers allow to know and use the original data.

As the modifiers now are evaluated in Depsgraph, the evaluated stroke is usable in Edit modes, so now it's possible to work with the evaluated version instead to use a "ghost" of the final image over the original geometry as work today.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D5470

Commit Details:

Full Hash: ee4ec69b28047629a1c153af356757a8fac5cee9
Parent Commit: d795dd1
Lines Changed: +298, -218

13 Modified Paths:

/source/blender/blenkernel/BKE_gpencil.h (+19, -1) (Diff)
/source/blender/blenkernel/BKE_gpencil_modifier.h (+4, -1) (Diff)
/source/blender/blenkernel/intern/gpencil.c (+4, -4) (Diff)
/source/blender/blenkernel/intern/gpencil_modifier.c (+133, -8) (Diff)
/source/blender/blenkernel/intern/object_update.c (+4, -0) (Diff)
/source/blender/draw/engines/gpencil/gpencil_cache_utils.c (+17, -14) (Diff)
/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c (+44, -22) (Diff)
/source/blender/draw/engines/gpencil/gpencil_draw_utils.c (+26, -132) (Diff)
/source/blender/draw/engines/gpencil/gpencil_engine.c (+4, -4) (Diff)
/source/blender/draw/engines/gpencil/gpencil_engine.h (+17, -27) (Diff)
/source/blender/editors/gpencil/gpencil_data.c (+1, -1) (Diff)
/source/blender/makesdna/DNA_gpencil_types.h (+20, -4) (Diff)
/source/blender/makesdna/DNA_object_types.h (+5, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021