Blender Git Commit Log

Git Commits -> Revision 6bcd877

December 15, 2019, 02:42 (GMT)
GPencil: Refactor: Add Top to bottom layer masking using stencil

This uses the 8bits as binary mask layer. This is really
efficient but has the downside of not allowing gradient transparency.

This also allows for different masking ranges and even (maybe) masking
boolean operations (nested masks etc..) but implementing this sort of
this might complexify the UI and the implementation.

The reason we went for binary visibility is that our blending modes
cannot operate correctly if not using a bottom-up rendering of the
layers (due to low precision color buffers). So blending all masked
layers to another temp buffer or blending layer top to bottom is not
doable without loosing the blending features. The workaround for this
would be to use RGBA16F everywhere and use many double buffers. Which
would kill performance and is really unpractical.

Now we just limit the number of masks to be 8. Lifting this limit
is a todo.

Commit Details:

Full Hash: 6bcd877ebb9a99482bd7f15eae08a3b383b2a706
Parent Commit: 9469f13
Lines Changed: +66, -21

3 Modified Paths:

/source/blender/draw/engines/gpencil/gpencil_cache_utils.c (+17, -15) (Diff)
/source/blender/draw/engines/gpencil/gpencil_engine.c (+47, -6) (Diff)
/source/blender/draw/engines/gpencil/gpencil_engine.h (+2, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021