Water rendering uses physical approximation for lighting/wave simulation and based on such physical parameters as wind power, turbidity, transparency, dispersion, etc. Therefore, the rendering of water should look correctly in any scene, for example, during the day, at night, at sunset or in the cave.
GPU waves simulation with multiple cascades (to avoid tiling)
Physical approximation of lighting (volumetric lights and shadows, absorption, scattering, caustic)
Physical approximation of reflections using fast screen space projected reflections, camera planar reflections, baked and realtime reflection probes.
Physical approximation of refraction in screen space with dispersion (using water IOR)
Physical approximation of caustic relative to water depth and waves (with dispersion).
Underwater effect with partial submersion
Shoreline waves rendering with foam particles
Flow rendering using flowmaps (integrated flowmap painter)
Fluid simulation for static objects (rivers)
Finite/Infinite mesh support (ocean/pool)
Depth (stencil) masking (to avoid water rendering in boats, etc)
Write to depth buffer (for correct posteffects like ‘depth of fields’)
Offscreen water rendering with scalable resolution (for example water can be rendered with resolution: 1080p, when scene rendered in 4k)
Video/text description of each setting in the editor.