framebuffer formalitites
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / planeinf.fs
1 #include "water_ref.glsl"
2
3 out vec4 FragColor;
4
5 uniform vec3 uCamera;
6 uniform vec4 uPlane;
7
8 in vec4 aColour;
9 in vec2 aUv;
10 in vec3 aNorm;
11 in vec3 aCo;
12
13 float ray_plane( vec3 pos, vec3 dir, vec4 plane )
14 {
15 float d = dot( plane.xyz, dir );
16 float t = dot((plane.xyz*plane.w - pos),plane.xyz) / d;
17 return t;
18 }
19
20 void main()
21 {
22 float fdist = ray_plane( uCamera, -aNorm, uPlane );
23 vec3 world_pos = uCamera - aNorm*fdist;
24
25 FragColor = vec4(fract(world_pos*0.1),1.0);
26 }