Blender Git Loki
Git Commits -> Revision 170680b
Revision 170680b by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 13, 2019, 18:40 (GMT) |
GPencil: Refactor: Add support for layer blending This break the compatibility of old blend files as the old implementation was done incorrectly. With new implementation, the layer blending can affect multiple object and in certain case affect even the rendered background. Old implementation was only affecting the layers beneath, not other objects. This implementation is also ready to support vfx on top. Some blend modes (divide and subtract) have some limitations. They cannot be propagated to other objects. This is because we would need to use signed float buffers everywhere (for background render) so that fixed function blending does not clamp the blending values. |
Commit Details:
Full Hash: 170680b5448aabf2aa67258258ef88c998a8046d
Parent Commit: 18c4fcb
Lines Changed: +228, -33
1 Added Path:
/source/blender/draw/engines/gpencil/shaders/gpencil_layer_blend_frag.glsl (+82, -0) (View)
7 Modified Paths:
/source/blender/draw/CMakeLists.txt (+1, -0) (Diff)
/source/blender/draw/engines/gpencil/gpencil_cache_utils.c (+64, -9) (Diff)
/source/blender/draw/engines/gpencil/gpencil_engine.c (+49, -16) (Diff)
/source/blender/draw/engines/gpencil/gpencil_engine.h (+13, -3) (Diff)
/source/blender/draw/engines/gpencil/gpencil_shader.c (+10, -0) (Diff)
/source/blender/draw/engines/gpencil/shaders/gpencil_composite_frag.glsl (+3, -3) (Diff)
/source/blender/draw/engines/gpencil/shaders/gpencil_frag.glsl (+6, -2) (Diff)
/source/blender/draw/engines/gpencil/gpencil_cache_utils.c (+64, -9) (Diff)
/source/blender/draw/engines/gpencil/gpencil_engine.c (+49, -16) (Diff)
/source/blender/draw/engines/gpencil/gpencil_engine.h (+13, -3) (Diff)
/source/blender/draw/engines/gpencil/gpencil_shader.c (+10, -0) (Diff)
/source/blender/draw/engines/gpencil/shaders/gpencil_composite_frag.glsl (+3, -3) (Diff)
/source/blender/draw/engines/gpencil/shaders/gpencil_frag.glsl (+6, -2) (Diff)