on.xy;
  uv=(uv*2.0)-1.0;
  uv=vec2(uv.x*(iResolution.x/iResolution.y),uv.y);
  vec3 ang=vec3((sin(time*3.0))*0.1,(sin(time)*0.2)+0.3,time);
  vec3 ori=vec3(0.0,3.5,time*5.0);
  vec3 dir=normalize(vec3(uv.xy,-2.0));
  dir=vec3(dir.xy,dir.z+(length(uv)*0.14));
  dir=normalize(dir)*fromEuler(ang);
  heightMapTracing(ori,dir);
  vec3 dist=pOut-ori;
  vec3 n=getNormal(pOut,dot(dist,dist)*EPSILON_NRM);
  vec3 light=normalize(vec3(0.0,1.0,0.8));
  return mix(getSkyColor(dir),getSeaColor(pOut,n,light,dir,dist),pow