Physical Ocean Surface - Developing a Realistic Water Shader

I have implemented a first version of buoyancy (at the moment only a single point is evaluated for each object). Buoyancy is implemented as a component, this means that you can drag any static mesh into the level, add the Buoyancy component like this:

component.PNG

and the object will float:

watch?v=5s3pA1vH2ZU

The Buoyancy component automatically calculates the center of gravity of the object and makes it move with the water surface.

Here is a large screenshot because Youtube compression eats all the detail: