shader vacuuming
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / scene_depth.fs
1 out vec4 FragColor;
2
3 uniform vec3 uCamera;
4 uniform vec3 uBoard0;
5 uniform vec3 uBoard1;
6
7 in vec2 aUv;
8 in vec4 aNorm;
9 in vec3 aCo;
10 in vec3 aWorldCo;
11 flat in ivec4 aLights;
12
13 #include "common_scene.glsl"
14
15 // Water blending
16 // ==============
17
18 float water_depth( vec3 pos, vec3 halfview )
19 {
20 vec3 pnorm = g_water_plane.xyz;
21 float pdist = g_water_plane.w;
22
23 float d = dot( pnorm, halfview );
24 float t = dot((pnorm*pdist - pos), pnorm) / d;
25 return t * g_water_fog;
26 }
27
28 void main()
29 {
30 vec3 halfview = normalize( uCamera - aWorldCo );
31 float depth = water_depth( aWorldCo, halfview );
32 FragColor = vec4( depth, 0.0, 0.0, 0.0 );
33 }