A Gizmo for physically based underwater attenuation, using Beer-Lambert's law as its engine.
Beer-Lambert Attenuation
First submitted: 13 January 2026
Updated: 14 January 2026
Author: Jorrit Schulte
Compatible Nuke versions: 13.0 or later
Compatibility: Linux, Mac, Windows
A Gizmo for physically based underwater attenuation, using Beer-Lambert's law as its engine.

Includes a non-deep and Deep version of the tool for better result around semi transparent edges, the results of the two versions of the nodes are otherwise the same.

This is based on an equivalent tool designed for during production on a documentary series, where the tool using the same math was used in every underwater shot, and was subsequently adapted by other shows. This is a recreation of that tool, made more generalised to work in any production environment.

The Realistic falloff of the colors is automatically generated by the set ocean depth, and position of the camera, and the depth pass to calculate correct color values.
The basic formula for Beer–Lambert attenuation used in the tool is the following

where
I = resulting light intensity
I0 = incoming light intensity
e = Euler's number
α = attenuation coefficient
l = path length
Besides the basic attenuation, the tool also includes optional built in atmospheric effects – haze and depth based diffusion to blend everything together to achieve a realistic underwater look all in one node.

Comments