#vertex void main() { gl_FrontColor = gl_Color; gl_TexCoord[0] = gl_MultiTexCoord0; gl_Position = ftransform(); } #fragment #define DX`(1.5 / 2048.0) #define DY`(1.5 / 64.0) uniform sampler2D tex; void main() { vec4 c = texture2D(tex, vec2(gl_TexCoord[0].s + DX, gl_TexCoord[0].t + DY)) + texture2D(tex, vec2(gl_TexCoord[0].s - DX, gl_TexCoord[0].t + DY)) + texture2D(tex, vec2(gl_TexCoord[0].s + DX, gl_TexCoord[0].t - DY)) + texture2D(tex, vec2(gl_TexCoord[0].s - DX, gl_TexCoord[0].t - DY)); c = 0.1875 * c + 0.25 * texture2D(tex, gl_TexCoord[0].st); c *= vec4(1.5, 1.0, 0.5, 0.0); gl_FragColor = gl_Color * c; }