Main idea of "opaque material with opacity" is to use scene capture actors to get scene depth and color behind surface from scene "without ocean".

I've made ocean mesh visible only to owner, and capture actors don't see it. Position and rotation of these actors are synced with player controller's position and rotation, FOV is the same, so we can easily make projection of render targets to screen spa

- Designed for DirectX11 tesselation (flat version for DX9);
- Opacity with dynamic shadows on ocean surface (can be used with dynamic lighting and has bug-free DOF);
- Subsurface scattering (SSS) simulation;
- All the data is generated from one 256x256x32b normal map.

There are a lot of different approaches for ocean simulation in games. This shader is just only one of them. Hope you'll find it useful, and you're free to use it as you want.