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. |
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. |
Revision 18c4fcb by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 13, 2019, 18:40 (GMT) |
DRW: Add subtract blend logic This is to support subtract blending with Multiple Render Targets |
Revision 347a097 by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 13, 2019, 18:40 (GMT) |
GPU: Texture: Fix mistake in format classification sRGBA format is well defined for use with framebuffers (based on 3.3 spec). |
Revision 436696b by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 13, 2019, 18:40 (GMT) |
Cleanup: GPencil: Remove duplicated code |
Revision 4ba9409 by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 13, 2019, 18:40 (GMT) |
GPencil: Refactor: Add offscreen compositing foundation This put all Grease pencil drawing into a separate buffer that is then composited on top of the rendered image. This framebuffer has 2 RGB color target (one color and one alpha) to be able to record any color blend types. Moreover these buffers are floating point (R11_G11_B10) which will allow the use of linear colors. |
Revision db21312 by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 13, 2019, 18:40 (GMT) |
GPU: Framebuffer: Add GPU_framebuffer_multi_clear This is to clear individual targets using a different color. |
December 13, 2019, 15:29 (GMT) |
Merge branch 'greasepencil-object' into greasepencil-refactor Conflicts: source/blender/blenloader/intern/versioning_280.c |
December 13, 2019, 15:27 (GMT) |
Merge branch 'master' into greasepencil-object |
Revision ab5a4bc by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 12, 2019, 23:34 (GMT) |
GPencil: Refactor: Fix broken shader & undefined behavior |
Revision 3adcfea by Clément Foucault (greasepencil-object, greasepencil-refactor, temp-gpencil-eval) December 12, 2019, 21:33 (GMT) |
GPencil: Refactor: Implement Stroke self overlap option This is a novel approach were we use the depth buffer instead of the stencil buffer. This allows up to ~1e24 different indices to draw to. We use a DRW_STATE_DEPTH_GREATER to discard the fragment comming from the same stroke. Since we can have strokes that don't have this option, we use the point indices instead of the stroke index to avoid changing the state during drawing. |
|