Revision 5e72f70 by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 15, 2019, 13:02 (GMT) |
Revert "GPencil: Refactor: Add Top to bottom layer masking using stencil" This reverts commit 6bcd877ebb9a99482bd7f15eae08a3b383b2a706. |
December 15, 2019, 10:18 (GMT) |
Merge branch 'master' into greasepencil-object Conflicts: release/scripts/presets/keyconfig/keymap_data/industry_compatible_data.py release/scripts/startup/bl_ui/properties_grease_pencil_common.py release/scripts/startup/bl_ui/properties_paint_common.py release/scripts/startup/bl_ui/space_topbar.py release/scripts/startup/bl_ui/space_view3d.py release/scripts/startup/bl_ui/space_view3d_toolbar.py This commit has broken all new graese pencil Vertex Paint, Sculpt mode and Weight mode and need a review. |
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. |
Revision 9469f13 by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 15, 2019, 02:19 (GMT) |
GPencil: Refactor: Fix crash caused by material preview render |
Revision 3d78e02 by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 15, 2019, 02:14 (GMT) |
DRW: Add DRW_shgroup_stencil_set to set all stencil test values This is to allow more fine tuning. The other function is deprecated and need to be replace. |
Revision f8661a8 by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 14, 2019, 19:30 (GMT) |
Revert "GPencil: Refactor: Change Mask Behavior" This reverts commit eb3fe4c8486fe1253cf8725b6083238dca7d256e. |
Revision 8d6737a by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 14, 2019, 17:58 (GMT) |
GPencil: Refactor: Fix broken selection |
Revision eb3fe4c by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 14, 2019, 17:58 (GMT) |
GPencil: Refactor: Change Mask Behavior This is a work in progress Masking now done by a particular layer and applied on all layers underneath. |
December 14, 2019, 11:50 (GMT) |
Cleanup: Sort flag options |
December 14, 2019, 09:02 (GMT) |
Merge branch 'greasepencil-object' into greasepencil-refactor |
December 14, 2019, 09:01 (GMT) |
Merge branch 'master' into greasepencil-object |
Revision 8ea9211 by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 14, 2019, 02:31 (GMT) |
GPencil: Refactor: Speedup: Only blend pixels rendered in the layer |
Revision a3c998e by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 14, 2019, 02:21 (GMT) |
GPencil: Refactor: Implement Layer Masking |
Revision fd548de by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 14, 2019, 02:21 (GMT) |
GPencil: Refactor: Fix Overlay Blend mode There was a mistake in the implementation. The step were reversed and alpha was affecting the blend result. |
Revision 2cef018 by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 14, 2019, 01:45 (GMT) |
GPencil: Refactor: Add depth merge pass This pass merge the stroke depth to the 3D depth buffer. This makes GP objs to mask overlays correctly. 2D objects depth is using the object center depth only. This is to be improved. |
Revision dc2cc35 by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 14, 2019, 01:39 (GMT) |
Cleanup: GPencil: CamelCase for uniforms |
Revision fc239df by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 14, 2019, 01:36 (GMT) |
GPU: Framebuffer: Fix missing color mask |
Revision ecfb0b1 by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 13, 2019, 20:25 (GMT) |
GPencil: Refactor: Fix 3D stroke offset The offset was way too big. |
Revision b9bcc12 by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 13, 2019, 20:24 (GMT) |
GPencil: Refactor: Add depth test in the fragment shader Now the GPencil object can correctly intersect the scene. Previously (old implementation) 2D GPencil objects would poke through in front meshes in certain situations (depending on stroke order). This is now fixed. This does not fix the intersection with the overlays. |
Revision 29b4dc1 by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 13, 2019, 19:18 (GMT) |
GPencil: Refactor: Fix overlay blending math A sign error in optimized code. |
|