summaryrefslogtreecommitdiffstatsci
path: root/shaders
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2021-12-12 05:45:02 +0100
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2021-12-15 20:17:51 +0100
commit358f15f02727ab5a1e159b4e7d4e06d8014cbbb5 (patch)
tree6ee708388db48170d72aa133949ad38f8078990e /shaders
parent6065a8cc34663a2071437249fcce96462684e48f (diff)
test radial gradient
Diffstat (limited to 'shaders')
-rw-r--r--shaders/vkvg_main.frag7
-rw-r--r--shaders/vkvg_main.vert5
2 files changed, 10 insertions, 2 deletions
diff --git a/shaders/vkvg_main.frag b/shaders/vkvg_main.frag
index 4a4586f..5a56ed8 100644
--- a/shaders/vkvg_main.frag
+++ b/shaders/vkvg_main.frag
@@ -81,6 +81,13 @@ void main()
for ( int i=1; i<uboGrad.count-1; ++i )
c = mix(c, uboGrad.colors[i+1], smoothstep( gradientStartPosRotatedX + uboGrad.stops[i].r*d, gradientStartPosRotatedX + uboGrad.stops[i+1].r*d, xLocRotated ) );
break;
+ case RADIAL:
+ vec2 pos_ndc = (gl_FragCoord.xy-uboGrad.cp[0].xy) / vec2(uboGrad.cp[2].y);
+ float dist = length(pos_ndc + (uboGrad.cp[2].x / inSrc.x));
+ c = mix (uboGrad.colors[0], uboGrad.colors[1], smoothstep(uboGrad.stops[0].r, uboGrad.stops[1].r, dist));
+ for (int i=2; i < uboGrad.count; i++ )
+ c = mix(c, uboGrad.colors[i], smoothstep(uboGrad.stops[i-1].r, uboGrad.stops[i].r, dist));
+ break;
}
if (inFontUV.z >= 0.0)
diff --git a/shaders/vkvg_main.vert b/shaders/vkvg_main.vert
index 50ac730..4880bc5 100644
--- a/shaders/vkvg_main.vert
+++ b/shaders/vkvg_main.vert
@@ -33,10 +33,10 @@ layout (location = 1) out vec4 outSrc;
layout (location = 2) out flat int outPatType;
layout (location = 3) out mat3x2 outMat;
-out gl_PerVertex
+/*out gl_PerVertex
{
vec4 gl_Position;
-};
+};*/
layout(push_constant) uniform PushConsts {
vec4 source;
@@ -74,4 +74,5 @@ void main()
);
gl_Position = vec4(p * vec2(2) / pc.size - vec2(1), 0.0, 1.0);
+ gl_PointSize = 3;
}