#include "water_ref.glsl" out vec4 FragColor; uniform vec3 uCamera; uniform vec4 uPlane; in vec4 aColour; in vec2 aUv; in vec3 aNorm; in vec3 aCo; float ray_plane( vec3 pos, vec3 dir, vec4 plane ) { float d = dot( plane.xyz, dir ); float t = dot((plane.xyz*plane.w - pos),plane.xyz) / d; return t; } void main() { float fdist = ray_plane( uCamera, -aNorm, uPlane ); vec3 world_pos = uCamera - aNorm*fdist; FragColor = vec4(fract(world_pos*0.1),1.0); }