VSE: Rounded corners for timeline strips

VSE timeline strips now have rounded corners. Strip corner rounding radius is
4, 6 or 8px depending on strip height (if strip is too narrow to fit
rounding, then rounding is turned off).

This is achieved with a dedicated GPU shader for drawing most of VSE
strip widget, that it could do proper rounded corner masking.

More details and images in the PR.

Pull Request: https://projects.blender.org/blender/blender/pulls/122576
This commit is contained in:
Aras Pranckevicius
2024-06-04 20:05:35 +02:00
committed by Aras Pranckevicius
parent a7171e0391
commit 7fdfa47f23
11 changed files with 726 additions and 414 deletions

View File

@@ -75,6 +75,9 @@ enum eGPUBuiltinShader {
/** Draw wide lines with uniform color. Has an additional clip plane parameter. */
GPU_SHADER_3D_POLYLINE_CLIPPED_UNIFORM_COLOR,
/** Draw strip widgets in sequencer timeline. */
GPU_SHADER_SEQUENCER_STRIPS,
/** Compute shaders to generate 2d index buffers (mainly for curve drawing). */
GPU_SHADER_INDEXBUF_POINTS,
GPU_SHADER_INDEXBUF_LINES,