aboutsummaryrefslogtreecommitdiff
path: root/data/shaders/function.vert
diff options
context:
space:
mode:
Diffstat (limited to 'data/shaders/function.vert')
-rw-r--r--data/shaders/function.vert30
1 files changed, 30 insertions, 0 deletions
diff --git a/data/shaders/function.vert b/data/shaders/function.vert
new file mode 100644
index 0000000..5fa357e
--- /dev/null
+++ b/data/shaders/function.vert
@@ -0,0 +1,30 @@
+attribute vec3 position;
+
+uniform mat4 ModelViewProjectionMatrix;
+
+// Removing this varying causes an inexplicable performance regression
+// with r600g... Keeping it for now.
+varying vec4 dummy;
+
+float process(float d)
+{
+ $PROCESS$
+ return d;
+}
+
+void main(void)
+{
+ dummy = vec4(1.0);
+
+ float d = fract(position.x);
+
+ $MAIN$
+
+ vec4 pos = vec4(position.x,
+ position.y + 0.1 * d * fract(position.x),
+ position.z, 1.0);
+
+ // Transform the position to clip coordinates
+ gl_Position = ModelViewProjectionMatrix * pos;
+}
+