cyberenv
[vrfileman] / sdr / grid.p.glsl
index 825cdc6..3dc1230 100644 (file)
@@ -1,14 +1,17 @@
 uniform sampler2D tex;
+uniform vec3 fog_color, grid_color;
 
 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;
+       vec3 texel = texture2D(tex, gl_TexCoord[0].st).xyz;
+       vec3 color = pow(texel * grid_color, vec3(0.75)) * 2.0;
 
-       float fog = min(abs(vpos.z) * 0.05, 1.0);
+       float dist = abs(vpos.z);
+       float fog = 1.0 - exp(-dist * 0.11);
 
-       gl_FragColor.xyz = mix(grid_color, bg_color, fog);
+       float t = clamp(fog, 0.0, 1.0);
+       gl_FragColor.xyz = mix(color, fog_color, t);
        gl_FragColor.a = 1.0;
 }