diff options
Diffstat (limited to 'data/shaders/function.vert')
-rw-r--r-- | data/shaders/function.vert | 30 |
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; +} + |