86a30a5b9727504213ab4d19010f0b59ecb59185
[vrfileman] / sdr / grid.p.glsl
1 varying vec3 pos, vpos;
2
3 float grid(vec2 p, float duty)
4 {
5         float w = duty * 0.5;
6         p = fract(p);
7         return smoothstep(1.0 - w, 1.0, p.x) + (1.0 - smoothstep(0.0, w, p.x)) +
8                 smoothstep(1.0 - w, 1.0, p.y) + (1.0 - smoothstep(0.0, w, p.y));
9 }
10
11 void main()
12 {
13         vec3 p = pos * 500.0;
14
15         const vec3 grid_color = vec3(1.0, 0.2, 0.8);
16         const vec3 bg_color = vec3(0.5, 0.1, 1.0);
17         vec3 color = grid_color * grid(p.xz, 0.2);
18
19         float fog = min(abs(vpos.z) * 0.05, 1.0);
20
21         gl_FragColor.xyz = mix(color, bg_color, fog);
22         gl_FragColor.a = 1.0;
23 }