Blender Git Commit Log
Git Commits -> Revision 6bcd877
Revision 6bcd877 by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) 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