summaryrefslogtreecommitdiff
path: root/chickadee/graphics/shapes.scm
diff options
context:
space:
mode:
Diffstat (limited to 'chickadee/graphics/shapes.scm')
-rw-r--r--chickadee/graphics/shapes.scm29
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);
}