//precisionmediump float; uniform sampler2D Texture; uniform float uAlpha; varying vec2 texCoord; varying float fogDistance; void main() { vec4 color = texture2D(Texture, texCoord).rgba; if (color.a < 0.1) discard; vec3 tinted = mix(color.rgb, vec3(0.5, 0.5, 0.8), 0.3); vec3 fogColor = vec3(0.05, 0.05, 0.2); float fogFactor = clamp((fogDistance - 5.0) / 10.0, 0.0, 1.0); vec3 finalColor = mix(tinted, fogColor, fogFactor); gl_FragColor = vec4(finalColor, color.a * uAlpha); }