uniform sampler2D tex; varying vec3 vpos; void main() { const vec3 bg_color = vec3(0.5, 0.1, 1.0); vec3 grid_color = texture2D(tex, gl_TexCoord[0].st).xyz; float fog = min(abs(vpos.z) * 0.05, 1.0); gl_FragColor.xyz = mix(grid_color, bg_color, fog); gl_FragColor.a = 1.0; }