Generates lookup tables, or LUTs, from color management nodes downstream of a CMSTestPattern node. LUTs are generated according to the size of CMSTestPattern cube size.

You can use the GenerateLUT node to create both 1D and 3D LUTs:

1D LUTs assume that the primary color channels (red, green, and blue) are independent, and the output for a particular primary color (for example, red) only depends on the input value of that channel (rather than the values of all three channels). For each input value, there is one output value. 1D LUTs are represented by a curve. They are useful for quickly creating an image for viewing purposes, using less processing power, but they cannot be used to adjust saturation independently of brightness.

In 3D LUTs, the output values of each primary color channel are calculated based on the input values from all three channels (red, green, and blue). For each input value, there are three output values. This is represented by a 3D grid or cube. 3D LUTs can adjust saturation and brightness together, and are very useful for emulating a particular known look, such as Cineon.

Tip:  For good visual fidelity when using 3D LUTs, it is recommended that a log colorspace is used for 3D LUT generation. For more information on how to generate a LUT in log colorspace, please refer to Working with Color.

For more information, see CMSTestPattern and Vectorfield.

Inputs and Controls

Connection Type

Connection Name




An arrangement of nodes that do the color correction you want your 3D LUT to do, preceded by a CMSTestPattern node.

Control (UI)

Knob (Scripting)

Default Value


GenerateLUT Tab

output file



The path and file name of the LUT file you want to generate.

file type



The file format of the LUT file you want to generate. If this is set to auto (the default), Nuke guesses the format from the file name extension.

The following file extensions are recognized:

.3dl - Autodesk and ASSIMILATE Scratch LUT format (3D).

.blut - Side Effects Houdini binary LUT format (3D).

.cms - Light Illusion LightSpace CMS LUT format (1D and 3D).

.csp - Rising Sun Research CineSpace LUT format (3D).

.cub - FilmLight Truelight LUT format (1D and 3D).

.cube - IRIDAS LUT format (1D and 3D).

.vf - Nuke's native LUT format used by the Vectorfield node (3D).

Note:  FilmLight and Foundry have elected to no longer bundle Truelight as of Nuke 11. The Truelight node has been superseded by the free version of Baselight for Nuke which itself can import a BLG (Baselight Linked Grade) that can contain a Truelight strip, plus optionally a lot more in terms of creative grading intent. Together with OpenColorIO and the native Nuke Vectorfield node we feel all the Nuke color management issues for which the Truelight node was originally intended are now addressed.

For further information on Baselight for Nuke, please contact

1D preLUT

1D preLUT size



The size of the 1D LUT.



Some systems assume the LUT is designed to apply to logarithmic images, others linear. Some LUT formats are assumed to encode values as either logarithmic or linear. Use this setting to get your output LUT values encoded the way your use of the LUT requires.

3D LUT (These controls are only visible when you’ve selected 3dl in the file type dropdown menu.)

input bit depth (.3dl)


10 bit

The bit depth to scale input values to for .3dl files. For example, a 10-bit file has values between 0 and 1023.

output bit depth (.3dl)


input bit depth

The bit depth to scale output values to for .3dl files. For instance a 10-bit file has values between 0 and 1023. In general this should match the input bit depth.

clamp ouput



Clamp 3D LUT output values to the range of 0-1. Turning this off allows superwhite values to be represented which are allowed in some packages, such as Nuke. This may cause the result to be unreadable in other packages.

3dl file format


autodesk flame/smoke

Select the format you want to use for your .3dl file. The final cube size is determined by the CMSTestPattern which generates the input.

autodesk flame/smoke - use Autodesk preferred cube sizes of 17x17, 33x33, and 65x65.

autodesk lustre - use Autodesk preferred cube sizes of 17x17, 33x33, and 65x65, and output a 3DMESH/Mesh header.

assimilate scratch - scale and offset the 3D LUT. This should be used only for legacy scratch files prior to Flame compatibility.

Generate and Write LUT File



Generate the LUT file and save it to the output file location.

Python Tab (These controls are for Python callbacks and can be used to have Python functions automatically called when various events happen in Nuke.)

before render



These functions run prior to starting rendering in execute(). If they throw an exception, the render aborts.

before each frame



These functions run prior to starting rendering of each individual frame. If they throw an exception, the render aborts.

after each frame



These functions run after each frame is finished rendering. They are not called if the render aborts. If they throw an exception, the render aborts.

after render



These functions run after rendering of all frames is finished. If they throw an error, the render aborts.

render progress renderProgress none These functions run during rendering to determine progress or failure.