summaryrefslogtreecommitdiff
path: root/shaders/tesseract/205.shader_test
diff options
context:
space:
mode:
Diffstat (limited to 'shaders/tesseract/205.shader_test')
-rw-r--r--shaders/tesseract/205.shader_test77
1 files changed, 77 insertions, 0 deletions
diff --git a/shaders/tesseract/205.shader_test b/shaders/tesseract/205.shader_test
new file mode 100644
index 0000000..cbcd7f6
--- /dev/null
+++ b/shaders/tesseract/205.shader_test
@@ -0,0 +1,77 @@
+[require]
+GLSL >= 1.10
+
+[vertex shader]
+#version 120
+#extension GL_ARB_texture_rectangle : enable
+#define flat
+#define texture2DRectOffset(sampler, coords, offset) texture2DRect(sampler, coords + vec2(offset))
+#define shadow2DRectOffset(sampler, coords, offset) shadow2DRect(sampler, coords + vec2(offset))
+attribute vec4 vvertex;
+ attribute vec2 vtexcoord0;
+ uniform float offsets[8];
+ varying vec2 texcoord0, texcoord1, texcoord2;
+
+ varying vec2 texcoord3, texcoord4;
+
+ varying vec2 texcoord5, texcoord6;
+
+ void main(void)
+ {
+ gl_Position = vvertex;
+ texcoord0 = vtexcoord0;
+ vec2 tc1 = vtexcoord0.xy, tc2 = vtexcoord0;
+ tc1.y += offsets[1];
+ tc2.y -= offsets[1];
+ texcoord1 = tc1;
+ texcoord2 = tc2;
+
+ tc1.y = vtexcoord0.y + offsets[2];
+ tc2.y = vtexcoord0.y - offsets[2];
+ texcoord3 = tc1;
+ texcoord4 = tc2;
+
+ tc1.y = vtexcoord0.y + offsets[3];
+ tc2.y = vtexcoord0.y - offsets[3];
+ texcoord5 = tc1;
+ texcoord6 = tc2;
+
+ }
+
+[fragment shader]
+#version 120
+#extension GL_ARB_texture_rectangle : enable
+#define flat
+#define texture2DRectOffset(sampler, coords, offset) texture2DRect(sampler, coords + vec2(offset))
+#define shadow2DRectOffset(sampler, coords, offset) shadow2DRect(sampler, coords + vec2(offset))
+#define fragdata(loc, name, type)
+#define fragcolor gl_FragData[0]
+uniform float weights[8];
+ uniform float offsets[8];
+ uniform sampler2DRect tex0;
+ varying vec2 texcoord0, texcoord1, texcoord2;
+
+ varying vec2 texcoord3, texcoord4;
+
+ varying vec2 texcoord5, texcoord6;
+
+ fragdata(0, fragcolor, vec4)
+ void main(void)
+ {
+ #define texval(coords) texture2DRect(tex0, (coords))
+ vec4 val = texval(texcoord0) * weights[0];
+
+ val += weights[1] * (texval(texcoord1) + texval(texcoord2));
+
+ val += weights[2] * (texval(texcoord3) + texval(texcoord4));
+
+ val += weights[3] * (texval(texcoord5) + texval(texcoord6));
+
+ val += weights[4] *
+
+ (texval(vec2(texcoord0.x, texcoord0.y + offsets[4])) + texval(vec2(texcoord0.x, texcoord0.y - offsets[4])));
+
+
+ fragcolor = val;
+ }
+