42 lines
1.2 KiB
GLSL
42 lines
1.2 KiB
GLSL
varying vec2 tex_coord;
|
|
varying vec2 pix_coord;
|
|
|
|
#if defined(VERTEX)
|
|
|
|
void main()
|
|
{
|
|
pix_coord = vec2(gl_MultiTexCoord0.x, 1.0-gl_MultiTexCoord0.y)*1.0001;
|
|
tex_coord = vec2((gl_Vertex.x+1.0)*0.5, (-gl_Vertex.y+1.0)*0.5);
|
|
vec4 pos = vec4(gl_Vertex.x * 2.0, gl_Vertex.y * 2.0, gl_Vertex.z, gl_Vertex.w);
|
|
gl_Position = gl_Vertex; //(gl_Vertex*2)-vec3(1.0, 1.0, 1.0);//gl_ModelViewProjectionMatrix * gl_Vertex;
|
|
}
|
|
|
|
#elif defined(FRAGMENT)
|
|
|
|
uniform sampler2D Texture;
|
|
|
|
void main()
|
|
{
|
|
float x = sign(pix_coord.x)*floor(abs(pix_coord.x)+0.5);
|
|
float column = mod(x,4.0);
|
|
vec4 color = texture2D(Texture, tex_coord);
|
|
float xfade = abs((tex_coord.s * 2.0) - 1.0);
|
|
xfade = xfade * xfade * xfade * xfade * xfade;
|
|
float yfade = abs((tex_coord.t * 2.0) - 1.0);
|
|
yfade = yfade * yfade * yfade * yfade * yfade;
|
|
color = color + vec4(0.7, 0.7, 0.7, 0.0) * (1.0-tex_coord.t) * (1.0-xfade) * (1.0-yfade);
|
|
vec4 newcolor;
|
|
if (column == 0.0) {
|
|
newcolor = color * vec4(1.0, 0.4, 0.6, 1.0);
|
|
} else if (column == 1.0) {
|
|
newcolor = color * vec4(0.4, 1.0, 0.4, 1.0);
|
|
} else if (column == 2.0) {
|
|
newcolor = color * vec4(0.6, 0.4, 1.0, 1.0);
|
|
} else {
|
|
newcolor = color * vec4(0.2, 0.2, 0.2, 1.0);
|
|
}
|
|
gl_FragColor = newcolor;
|
|
}
|
|
|
|
#endif
|