varying vec3 Reflect;
varying vec3 Refract;
varying float F;
varying vec3 water;

uniform samplerCube Cubemap;

void main()
{
  vec3 refractColor = vec3(textureCube(Cubemap, Refract));
  vec3 reflectColor = vec3(textureCube(Cubemap, Reflect));

  vec3 color = mix(water*refractColor, reflectColor, F);

  gl_FragColor = vec4(color, 1.0);
}