Water refraction and volume fog
The water now dynamically refracts objects submerged in it, and is full of floating dust so that light cannot penetrate it very far.
Heat haze
I adapted the distortion system to allow for heat haze from convection in really hot environments, such as this desert:
Depth of Field
I added depth of field effects that can be used for cutscenes. The camera can focus on any particular distance plane, and everything is blurred based on distance from this focal plane. This lets us focus on a nearby object and blur distant ones, and vice versa, to add another depth cue and draw attention to different areas.
Screen-space distortion
We can now apply distortion effects to anything; in this screenshot I applied a basic refraction shader to the player model! Screen-space distortion is much faster than cube map distortion, because we do not have to render the scene extra times.
This effect will be used for heat haze, water refraction, fire distortion, and so on.
Water surface effects
Today I added initial water surface reflection and refraction effects. I haven't started on underwater effects yet, but that is next!