diff options
Diffstat (limited to 'chickadee/graphics/shapes.scm')
-rw-r--r-- | chickadee/graphics/shapes.scm | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/chickadee/graphics/shapes.scm b/chickadee/graphics/shapes.scm index 79a73b6..e5d985c 100644 --- a/chickadee/graphics/shapes.scm +++ b/chickadee/graphics/shapes.scm @@ -165,7 +165,7 @@ void main(void) { " " #ifdef GLSL120 -attribute vec2 fragTex; +varying vec2 fragTex; #else in vec2 fragTex; #endif @@ -196,6 +196,32 @@ void main (void) { } dy = abs(v); +#ifdef GLSL120 + // none + if (cap == 0) { + d = infinity; + } + // butt + else if (cap == 1) { + d = max(dx + w / 2 - 2 * r, dy); + } + // square + else if (cap == 2) { + d = max(dx, dy); + } + // round + else if (cap == 3) { + d = sqrt(dx * dx + dy * dy); + } + // triangle out + else if (cap == 4) { + d = dx + dy; + } + // triangle in + else if (cap == 5) { + d = max(dy, w / 2 - r + dx - dy); + } +#else switch (cap) { // none case 0: @@ -222,6 +248,7 @@ void main (void) { d = max(dy, w / 2 - r + dx - dy); break; } +#endif } else { d = abs(v); } |