diff options
author | Leo Tenenbaum <pommicket@gmail.com> | 2020-12-06 19:13:20 -0500 |
---|---|---|
committer | Leo Tenenbaum <pommicket@gmail.com> | 2020-12-06 19:13:20 -0500 |
commit | 2227e40af76aa10d87bbcce0f7df73d98407881b (patch) | |
tree | 02509a67a6095474cdd60df6a26b3dd4c80373de /assets/ball_f.glsl | |
parent | 950b3c95590aea7420e7dd4c7ae21ba0a0805ea6 (diff) |
finish platform shader & ball shader
Diffstat (limited to 'assets/ball_f.glsl')
-rw-r--r-- | assets/ball_f.glsl | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/assets/ball_f.glsl b/assets/ball_f.glsl new file mode 100644 index 0000000..e3dfdb3 --- /dev/null +++ b/assets/ball_f.glsl @@ -0,0 +1,19 @@ +varying vec4 color; +varying vec2 pos; +uniform vec2 center; +uniform float radius; + +void main() { + float dist_squared = dot(pos - center, pos - center); + float threshold = 0.9 * radius; // radius border starts at + float thickness = radius - threshold; + + if (dist_squared > threshold * threshold && dist_squared < radius * radius) { + float dist = sqrt(dist_squared); + float v = (dist - threshold) / thickness; + v = 2.0 * v - 1.0; + gl_FragColor = color * (1.0 - v * v); + } else { + discard; + } +} |