summaryrefslogtreecommitdiff
path: root/shaders/tesseract/292.shader_test
diff options
context:
space:
mode:
Diffstat (limited to 'shaders/tesseract/292.shader_test')
-rw-r--r--shaders/tesseract/292.shader_test123
1 files changed, 123 insertions, 0 deletions
diff --git a/shaders/tesseract/292.shader_test b/shaders/tesseract/292.shader_test
new file mode 100644
index 0000000..e41e28c
--- /dev/null
+++ b/shaders/tesseract/292.shader_test
@@ -0,0 +1,123 @@
+[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, vtangent;
+ attribute vec2 vtexcoord0;
+
+ uniform mat4 modelmatrix;
+ uniform mat3 modelworld;
+ uniform vec3 modelcamera;
+ uniform vec2 texscroll;
+
+ varying vec3 nvec;
+
+
+
+ varying vec2 texcoord0;
+
+ void main(void)
+ {
+
+ #define mpos vvertex
+ #define mquat vtangent
+
+ vec3 mnormal = cross(mquat.xyz, vec3(mquat.y, -mquat.x, mquat.w))*2.0 + vec3(0.0, 0.0, 1.0);
+
+
+
+ gl_Position = modelmatrix * mpos;
+
+ texcoord0 = vtexcoord0 + texscroll;
+
+
+
+
+
+
+ nvec = modelworld * mnormal;
+
+ }
+
+[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 gcolor gl_FragData[0]
+#define gnormal gl_FragData[1]
+#define gglow gl_FragData[2]
+varying vec3 nvec;
+
+
+ uniform vec4 colorscale;
+ uniform vec2 fullbright;
+ uniform vec2 maskscale;
+
+ uniform sampler2D tex0;
+
+
+
+
+
+ fragdata(0, gcolor, vec4)
+ fragdata(1, gnormal, vec4)
+ fragdata(2, gglow, vec4)
+
+
+
+ varying vec2 texcoord0;
+ uniform float aamask;
+
+ void main(void)
+ {
+ vec4 diffuse = texture2D(tex0, texcoord0);
+
+
+
+ gcolor.rgb = diffuse.rgb*colorscale.rgb;
+
+
+
+
+ vec3 normal = normalize(nvec);
+
+
+
+ float spec = maskscale.x;
+
+ gcolor.a = 0.5*spec;
+
+
+ float glowk = fullbright.y, colork = fullbright.x-fullbright.y;
+
+
+
+
+ glowk /= glowk + colork + 1.0e-3;
+ gcolor.rgb = gcolor.rgb * (1.0 - 2.0*glowk*(glowk - 1.0));
+ #define packnorm 1.0-glowk
+
+
+
+ gnormal.rgb = normal*0.5 + 0.5;
+ #ifdef packnorm
+ gnormal.a = (packnorm);
+ #else
+ gnormal.a = 1.0;
+ #endif
+
+
+
+
+
+
+ }
+