Real Time Water Reflection and Refraction

Johnathan Nicholson

In this project my goal was to explore techniques to render semi-realistic water in realtime.

In order to explore this I employed a couple of different techniques related to water rendering.

  • Rendering from both the camera position and the position flipped to simulate reflection
  • mixing between these rendered buffers based on the angle that the user views from
  • Rendering the water as more blue the "deeper" the water is from your point of view
  • Using a distortion map moving in two directions I created the ripple effect

The terrain was created in blender for this project

Example Video