 
 vec3 IntersectRayWithBottom(vec2 surfacePos, vec3 surfaceNormal)
 {
-	const vec3 lightPos = vec3(0.5, 0.5, 4.0);
 	vec3 pos3d = vec3(surfacePos, 0);
 	vec3 lightDir = normalize(lightPos - pos3d);
 	vec3 eyeDir = vec3(0, 0, 1);


float GetCaustics(vec2 position)
{
	const vec2 fakeOffset = vec2(0.1, 0.1);
	position += fakeOffset;

	vec2 ofsY = position + vec2(0, 1.0 / (heightMapSize.y * 0.5));
	vec2 ofsX = position + vec2(1.0 / (heightMapSize.x * 0.5), 0);


float GetFakeSunIllum(vec2 position, vec3 normal)
{
	vec3 lightDir = normalize(lightPos - vec3(position, 0));
	vec3 eyeDir = vec3(0, 0, 1);
	vec3 reflectedRay = reflect(-eyeDir, normal);
