diff options
Diffstat (limited to 'src/extras/shaders/neoGloss.frag')
-rw-r--r-- | src/extras/shaders/neoGloss.frag | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/extras/shaders/neoGloss.frag b/src/extras/shaders/neoGloss.frag new file mode 100644 index 00000000..14ef0e15 --- /dev/null +++ b/src/extras/shaders/neoGloss.frag @@ -0,0 +1,26 @@ +uniform sampler2D tex0; + +uniform vec4 u_reflProps; + +#define glossMult (u_reflProps.x) + +in vec3 v_normal; +in vec3 v_light; +in vec2 v_tex0; +in float v_fog; + +out vec4 color; + +void +main(void) +{ + color = texture(tex0, vec2(v_tex0.x, 1.0-v_tex0.y)); + vec3 n = 2.0*v_normal-1.0; // unpack + vec3 v = 2.0*v_light-1.0; // + + float s = dot(n, v); + color = s*s*s*s*s*s*s*s*color*v_fog*glossMult; + + DoAlphaTest(color.a); +} + |