Ocean Details

pjcozzi edited this page Dec 12, 2012 · 6 revisions

Implementation ideas for rendering the ocean.

  • Fresnel - reflection and refraction depend on the view angle.
  • Use specular map so when water is near land,
    • it flows differently
    • it is shallower and therefore animates and renders differently.
  • Use dynamic branch to discard fragments based on distance. No need to perform all the wave sampling when the fadeFactor is going cancel out the effect.
  • Utilize the alpha channel in the baseWaterColor and blendColor to add additional translucency to the water. May be useful to view terrain, models, etc. under the water.


  • Done: Implement by creating a material with Fabric.
  • Done: We have noise functions to animate the water. Check the reference help for our GLSL built-ins.
  • Done: Use a specular map so we know what is water and what is land. Let's not worry about the resolution for the moment. Coastlines will look bad.