Beer-Lambert Attenuation

A Gizmo for physically based underwater attenuation, using Beer-Lambert's law as its engine.

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.

Watch Demo Here

or register to download or rate.

Comments

or register to join the conversation.

Download Verification