HIDDEN NODES IN NUKE

Nuke has been developed and extended for over 20 years now. During the two productive decades many new tools and features has been added and removed. 

Many of the older tools was retired from the UI for a good reason like they were buggy ( still beta ) or an improved version took its place.

Altough, many of the old tools weren't removed completely from the package! 
And some ( maybe just a few ) of them are actually still pretty cool and can be useful!

There are a few old tools that I've been regularly using still and I know of others who also do so.

But as I've been asking around didn't find a person who would know just how many dusty old tools are hidden in Nuke that we still have access to. I found 2 ( one, two ) very useful forum threads but reading them it was clear that there isn't a list of these misfit toys.

So decided to dig around on Nuke's attic and blow off the dust of as many retired nodes

as I could just found!

How can I create nodes that are hidden?

There are 3 ways to create nodes that are not visible in Nuke after launching it. ( So you can't find them on the left side Toolbar nor with the Tab search. )

gif12.gif

- 1 -

You can create them without using a single line of code by clicking on 

Toolbar / Other / All plugins / Update ( Foundry )

001.jpg

►►►

002.jpg

If you do so it opens subfolders in alphabetical order listing all the current and previous tools.

BEWARE! Once you loaded in all plugins you can't close the list unless you re-launch Nuke.

Also, these nodes will appear on your Tab search making finding the right node there more difficult sometimes. Luckily, you can spot them easily as the source of the node will

show up as a single latter:

003.jpg

Also, not everything you see on the list is a node you can still create, like all the format Read and Write nodes will produce a similar error message:

009.jpg

Btw if you are keen on using a coding approach here is the way to load in All plugins:

- 2 -

Using TCL with the X hotkey ( over the NodeGraph) to open Command entry mode.

004.jpg

By default this pop up window opens on TCL which is very useful for us to create nodes!

You only need to type in the Class of the node to create it. ( Make sure when you type you make the right letters capital as coding is case sensitive )

005.jpg

►►►

007.jpg

By default this pop up window opens on TCL which is very useful for us to create nodes!

You only need to type in the Class of the node to create it. ( Make sure when you type you make the right letters capital as coding is case sensitive )

By using a Class also means that you need to make sure you are calling the right version of the node as some has multiple versions, like in the case of a Tracker node you'll need to type Tracker4 if want to open a current one.

010.jpg

- 3 -

Using TCL in Command entry mode or in the Script Editor.

Generally, there are two ways to create nodes with python.

These codes can be run from various places such as the ScriptEditor,  menu.py, Command entry,

Python Script Button ...

Congratulations! Now you know all 3 ways!

gif14.gif

How I created this list?

I was using nodeTypes that gives a list of all the available nodes inside Nuke then narrowed down the list using starstwith. As didn't find a way to separate the hidden nodes with python that was a case by case manual comparison using a Tab search.

Also, the difference if the force_plugin_load is True or False are the Furnace tools and the Denoise.

When it's True it prints 538 items ( Classes ) as in v13.1 without any installed plugins.

The following list contains about 165 nodes that are hidden but still can be opened from this list.

The List

Many of the nodes on this list will be familar as I wanted to collect all the nodes that you can still open in Nuke but not part of the UI. Therefore, many of them merely just to show previous versions of the nodes you can use currently. Some may even be the same but with a different Class name.

I organized them in alphabetical order.

- A -

 

AddSTMap

012.jpg

There aren't many more straight-forward hidden treasueres than this one.

You can actually copy it as a Group and look inside. Just be aware that this node also creates

a new layer called "stmap" by default. On the node you can select where you want to copy the stmap though.

014.jpg

ApplyLUT

015.jpg

This node probably could tell a story of simpler times, when using a single LUT node was enough.

016.jpg

AttribGeo

017.jpg
018.jpg

Wasn't sure when this one would be useful. Only tested with a few things but one thing it is
good for: crashing Nuke with a following message in the terminal:

019.jpg

Axis ( Classes called as Axis , Axis2 , Axis3 ) About

044.jpg

We are currently using by its class Axis3. Both earlier versions are still can be conjured in Nuke.
The first one is easy to tell on the NodeGraph as it's only has a single input,

while the others has "look" too.

Otherwise, the biggest improvement was to way you can select files on the node:

021.jpg

- B -

 

BakedPointCloud

022.jpg

Not a crazy much can be found about this node. Only mentioning of it is from

an earlier blog post from Hagbarth.

BakedPointCloudMesh

023.jpg

Bezier

024.jpg

This is apparently a relic from the pre Roto/RotoPaint node era ( just as Paint at P ).

The Foundry mentiones that you can still add it to your Toolset for nostalgic reasons
It might be strange for most "new" roto artist that this node handles a single bezier spline.

260.jpg
gif08.gif

Bilateral ( Classes called as Bilateral , Bilateral2 ) About

025.jpg

The Bilateral node's biggest upgrade was to introduce GPU acceleration and the filteration options.

These are great upgrades although I am still finding the first version sutitable for most cases 

when I need it. Tutorial.

026.jpg

Black

027.jpg

This is a peculiar node. There isn't anything you can set up on the node itself but the label.

Its fixed resolution is 640 * 480 and there aren't any pixel values to sample or grade.

BlockGPU

028.jpg
029.jpg

Blocky

030.jpg

This is a simple but still sometimes handy mosaic filter tool. Don't know why this got removed.

Also if anyone interested the node's source code is available in the v6.3 NDK documentation.

047.jpg

BumpMat

032.jpg

BurnIn

033.jpg

This is a classic that I still spot in people's templates sometimes. I also appreciate that you can still ungroup this node and look under the hood. Finding there a few cleverly written python code in Text nodes. This was also a tool that inspired to make Input_Info.

034.jpg
035.jpg
036.jpg

- C -

 

CCorrect

037.jpg

This feels like an earlier version of the well known ColorCorrect. Key differences are:
- It has a White and Midtone sliders which can be very handy!

- No Saturation slider
- Only the master has Contrast slider

038.jpg

CCrosstalk

039.jpg

I suppose it still can be useful for people who like to use a graph to grade their pictures.

040.jpg

C_Bilateral2_1

041.jpg

This seems an exact copy of the current Bilateral node but for some reasons lives under a 

C_Bilateral2_1 Class name. Tutorial.

C_SphericalTransform2_1

042.jpg

This seems an exact copy of the current SphericalTransform node but for some reasons lives under a 

C_SphericalTransform2_1 Class name.

Camera ( Classes called as Camera , Camera2 , Camera3 ) About

043.jpg

Similar case as with Axis above. We are currently using by its class Camera3. Both earlier versions are still can be conjured in Nuke.
The first one is easy to tell on the NodeGraph as it's only has a single input,

while the others has "look" too.

Otherwise, the biggest improvement was to way you can select files on the node:

046.jpg

CameraShake ( Classes called as CameraShake, CameraShake2 , CameraShake3 ) About

048.jpg

Similar case as with Axis above. We are currently using by its class CameraShake3. Both earlier versions are still can be conjured in Nuke.

049.jpg

CameraTracker

050.jpg

Not an older version but might worth mentioning that CameraTracker can 

also be called by CameraTracker1_0

CameraTrackerPointCloud

051.jpg

Not an older version but might worth mentioning that CameraTrackerPointCloud can 

also be called by CameraTrackerPointCloud1_0

Card ( Classes called as Card, Card2 ) About

052.jpg

Card has a small face lifting over time.

Change is that the deformad rows/columns slider got removed and other changes on the Deform tab.

053.jpg

CardObj

054.jpg

It is likely an earlier version of Card3D. It is a simple 2 nodes setup and it is interesting that you can still unGroup it and look under the hood.

Full list of Obj nodes: CardObj, CubeObj, CylinderObj, SphereObj

055.jpg

ChannelSelector

056.jpg

A same channel selection that you can also find on the Viewer panel just in a different order.

057.jpg

CheckerBoard ( Classes called as Checker , CheckerBoard , CheckerBoard2 ) About

058.jpg

Checker is likely first version of the current Checkerboard that unfortunately only works if there's an input added. 

ColorTransferWrapper

059.jpg

Seems like a first version of the MatchGrade node. It only has a ROI box to select a color from 

input A that is applied on input Bs image.

Compare

060.jpg

Looks like a Merge/Difference ( abs(A-B) ) method with some extras built in.

Convolve ( Classes called as Convolve , Convolve2 ) About

061.jpg

Biggest difference is that a GPU acceleration got added to Convolce which was very much needed

for one of the heaviest nodes in Nuke.

062.jpg

CubeObj

063.jpg

Same story as CardObj above. It is a Cube and TransformGeo in a Group.

Full list of Obj nodes: CardObj, CubeObj, CylinderObj, SphereObj

CylinderObj

065.jpg

Same story as CardObj above. It is a Cylinder and TransformGeo in a Group.

Full list of Obj nodes: CardObj, CubeObj, CylinderObj, SphereObj

- D -

 

DeInterlace

066.jpg

There aren't any controllers on this node and has a FieldSelector inside which is another hidden node,

with all that it very much feels like an unfinished node.

067.jpg

DeepChannelBlanker

068.jpg

DeepClip / DeepHoldout ( Classes called as DeepClip , DeepClipZ , DeepHoldout , DeepHoldout2 ) About

069.jpg

What a mess! Most people already prefer to use DeepMerge on holdout mode.

From these only DeepHoldout2 has the same controllers as the DeepMerge.

Logic failed here, Mr Spock!

gif18.gif

DeepColorCorrect ( Classes called as DeepColorCorrect DeepColorCorrect2 )

070.jpg

The update was to indtroduce a channel selector and a Deoverlap checkbox.

DeepCompare

071.jpg

DeepDeOverlap

072.jpg

DeepCrop About

073.jpg

This seems an exact copy of the current DeepCrop node but for some reasons lives under a 

DeepMask Class name.

DeepMerge ( Classes called as DeepMerge DeepMerge2 ) About

074.jpg

There are two changes here:

- The second version got a plus operation 

- The compute occluded samples checkbox got replaced by a volumetric holdout checkbox

Holdout with DeepMerge

DeepOmit

075.jpg

DeepToImage ( Classes called as DeepToImage DeepToImage2 ) About

076.jpg

Absolutely NO visible sign of an update here but we do have 2 verions of this node too.

DeepVolumeMaker

077.jpg

Denoise ( Classes called as Denoise Denoise2 ) About

078.jpg

It is nice that we got GPU acceleration and the whole Profile tab but ... NeatVideo. Tutorial

079.jpg

DepthGenerator

080.jpg

This seems an exact copy of the current DepthGenerator node but for some reasons lives under a 

DepthGenerator1_0 Class name.

DirBlur ( Classes called as DirBlur DirBlurWrapper ) About

081.jpg

Ever noticed that when you are making a DirBlur with a tab search it creates a DirBlurWrapper?

Well, I'd been happy with DirBlur2 but it it is called DirBlurWrapper instead for some reasons.

082.jpg

DualBlend

083.jpg

Sooo this is a Dissolve node but with a mix slider??? Oookay

gif04.gif

- E -

 

EdgeDetect ( Classes called as EdgeDetect EdgeDetectWrapper ) About

084.jpg

Another eyebrow raising situation! So what's happening is:
1 We have an older node called EdgeDetectCore with a Class EdgeDetect

2 We have a new model called EdgeDetect with a Class EdgeDetectWrapper
Make sense! ( ...right? )

gif13.gif
085.jpg

EdgeScatter

086.jpg

Errorlop

087.jpg

ExecuteTreeMT

088.jpg

Same python settings that are now part of the Write node.

089.jpg
 

- F -

FFT

090.jpg

FFT ( Fast Fourier Transform ) is a cool node but a bit heavy and also a bit sensitive to certain node combinations so can easily crash Nuke. It creates a visual representation of the frequencies of the image. In case you want to dig deeper how it works check here. And an interesting forum thread.
The result looks like this:

091.jpg

On it's own it isn't looking great. It's main use to be able to remove big scrathces and dust from old film if you'd need to work on such thing. 
More fun these days to create some frequency effect. You also need to use another hidden node to make it work called InvFFT. Here's a quick setup of how that can look. 

093.jpg
092.jpg

FFTMultiply

094.jpg

This node helped to create bokeh effect probably until Convolve and other quicker Defocus nodes arrived to the scene. If you want to try this method make sure you are using a same resolution on both inputs. There are some classic tools that are still using this technique like LensKernelFFT or Wiener Deconvolve.

097.jpg
096.jpg

F_DeGrain

098.jpg

It would probably rival Nuke's own Denoise node but still both falls short behind NeatVideo.

There is also a 2 part tutorial still available on this ( part 1 , part 2 )

FurnaceCore tools that are available and aren't are listed here.

F_MatchGrade

100.jpg

This node is still has an old official video tutorial available but in a poor quality.

F_MotionBlur

101.jpg

This node is still has an old official video tutorial available.

F_VectorGenerator

102.jpg

This node is still has an old official video tutorial available.

F_Kronos

103.jpg

This node is still has an old official 2 part tutorials ( part 1 , part 2 ) available but in a poor quality.

FieldSelect

104.jpg

Fill

105.jpg

Looks like an older version of a Constant node that needed an input for the resolution.

106.jpg

FishEye

107.jpg

It's a Camera alternative that has a few things not working but still can be interesting.

108.jpg
109.jpg

FloodFill

110.jpg

It's an interesting tool that can be useful to extend keyed alphas. 
( Also not to be confused with Hendrik Proosa's Flood Fill )

Fog

111.jpg

- G -

 

GPUFileShader

112.jpg

Here's a snippet from the Nuke5.2v1 Release notes:

Currently, the ViewerLUT (1D LUT), Vectorfield (3D LUT), ViewerGain, ViewerGamma, Viewer-

LUT, ViewerDither, and ViewerChannelSelector nodes are shipped with a GPU implementation.

There are also other two examples that you can use to develop your own nodes: GPUFileShader and GPUKuwahara. These are in the NDK with source code. GPUFileShader takes a file and

applies the shader described in it.

Also appears as an example code for NDK developers here.

GPUOp

113.jpg

GenerateLUTGeo

114.jpg

Gizmo

115.jpg

Seems like a generic Gizmo node. 

If you try to hit Copy to group an error message pops up: Constructor for Gizmo failed

Glow ( Classes called as Glow Glow2 ) About

116.jpg

I really tried but the only difference I found is a capital to small letter difference...

117.jpg

Grain ( Classes called as Grain Gain2 ) About

118.jpg

It's useful that you can peek under the hood of the new Grain node and found out that it's mostly

Noise nodes. Tutorial

119.jpg

GridWarp ( Classes called as GridWarpGridWarp2 , GridWarp3 ) About

120.jpg

There is a lot of changes happened between the versions here that are visible:

121.jpg

- I -

 

IBK Gizmo ( Classes called as IBK , IBK2Gizmo , IBKGizmo , IBKGizmoV3 ) About

125.jpg

That's a fair amount of mess around the IBK nodes so let's start with the IBK Gizmo.
The IBK is the node you can find in the rest of the IBK Gizmos.

Also, it really worth to find out more about the story of this otherwise super useful node here.

IBK Color ( Classes called as IBKColor , IBKSFill ,  IBKColorV3 ) About

127.jpg

These nodes are also using an IBK node when you look under the hood.

Also, it's a great Sherlock Holmes mystery what could have happened to IBKColorV2...
( or why it's might be called IBKSFill? )

gif05.gif

IBKSplit

128.jpg

It's an oddly simple assembly of Merge nodes inside this Group without any controller on the node,

so you can only ungroup this suspiciously unfinished looking node to find this:

129.jpg

IT8 ( Classes called as IT8_Reader, IT8_Writer )

130.jpg

Inpaint ( Classes called as Inpaint , Inpaint2 ) About

131.jpg

The Inpaint node's biggest upgrade was to introduce GPU acceleration and also almost the whole

list of user knobs got an update. Tutorial

InvFFT

132.jpg

This node is a pair of FFT of which you can find more about at the FFT above.

 

- L -

LensDistortion ( Classes called as LensDistortion LensDistortion1_0 , LensDistortion2 ) About

133.jpg

The first two nodes here are basically the same under different names.

There was a lot of updates between the 2 versions here just as mentioning a few it got GPU acceleration and it also works with CaraVR nodes.

134.jpg

Light ( Classes called as Light Light2 , Light3 ) About

135.jpg

Similar case as with Axis above. We are currently using by its class Light3
The first one is easy to tell on the NodeGraph as it's only has a single input, while the others

has "look" too. The first version's name is Point and the different types got introduced later.

Otherwise, the biggest improvement was to way you can select files on the node. Tutorial

136.jpg

- M -

 

MakeLatLongMap

137.jpg

Oddly feels like another unfinished tool where many of the user knobs aren't having much effect on the output. Like, to change the output format you can change the root format but not by using the options provided on the node.

Merge ( Classes called as Merge Merge2  ) About

138.jpg

Merge is an essential part of our compositing toolset and it great that it got a more organized arrangement if user knobs on the second version. Other than the order of knobs the biggest change is the removal of the swap A & B knob which is probably a version since we have the shift + x shortcut instead. Merge Operations

139.jpg

MeshGeo

140.jpg

Not sure what was a purpose with this node really. When an image connected it puts it on a Card but you can't do any Transformation on it. Only thing you can change is the orientation that is remotely useful.

141.jpg

MindRead

142.jpg

I LOVE this node! Not because it does anything but I'm glad that the developers dared to show a sense of humor! And GOSH I wasn't on any shows where at some point we were all wishing that this node was actually working! :D 

Thank to Alan Precourt's comment we got a little more insight on this node:
"Mind Read was actually a Digital Domain plugin, created during a painful production which shall remain nameless. :)"  

gif10.gif

Mirror ( Classes called as Mirror Mirror2 ) About

143.jpg

Speaking of Foundry's sense of humor I'm glad that the Mirror got a flip flop. Looking much better!

What a stylish update!

144.jpg

ModelBuilder ( Classes called as Modeler Modeler1_0 , ModelBuilderGeo , ModelBuilder ) About

145.jpg

If you are using the Source input of the first two nodes on this list it will crash your Nuke instantly!

The third ( ModelBuilderGeo ) doesn't seem to do much. Tutorial

MultiTexture

146.jpg

Just as PSDMerge this node isn't technically hidden but you won't find it on the toolbar. It is added to the script when you are using UDIM Import to adjust textures on CG.
This node doesn't have any controller as it's main purpose was to optimize when you need to use multiple MergeMat nodes. Can find out more about it here. But just to quote the relevant part:
" Note: The MultiTexture node at the end of the tree optimizes rendering when multiple MergeMat nodes are chained together. It uses the default Iop vertex shader and only handles multi-texturing. This node has no fields or knobs and is intended for use only with the UDIM Import operation. "

147.jpg

- N -

 

NoProxy

148.jpg

NodeWrapper

149.jpg

This node seems like a Keymix without a mask input.

150.jpg

- O -

 

OFX ( Classes called as OFXuk.co.thefoundry.furnace.f_degrain_v403 , 

OFXuk.co.thefoundry.furnace.f_kronos_v403 ,

OFXuk.co.thefoundry.furnace.f_motionblur_v403 ,
OFXuk.co.thefoundry.furnace.f_vectorgenerator_v403  
)

151.jpg

These nodes are the same ones that you can fund above at F but under different Class names.

Also for those dealing with many Furnace tools here are two recent python functions that

migh came in handy: ofxRemovePluginAliasExclusion and ofxAddPluginAliasExclusion

Denoise ( Classe called as OFXuk.co.thefoundry.noisetools.denoise_v100 )

154.jpg

This is a same older version of the current Denoise node that is mentioned above at D but under a 

different Class name.

Oflow ( Classes called as OFXuk.co.thefoundry.time.oflow_v100 , Oflow2 ) About

155.jpg

It's really good that the new Oflow got GPU acceleration and Input Range plus a few other useful settings with a more useful arrangement of user knobs. Tutorial

156.jpg

OpStatisticsOp

157.jpg

- P -

 

Paint

158.jpg

This is apparently a relic from the pre Roto/RotoPaint node era ( just as Bezier at B ).

The Foundry mentiones that you can add it to your Toolbar it for nostalgic reasons

Otherwise, some still find this version useful and if interested here's a way to set up for yourself.

159.jpg

PSDMerge

160.jpg

I admit that PSDMerge isn't fitting this list 100% as it isn't really a hidden node. It takes a PSD file and to click on the Read node's Breakout Layers button to conjure it manually but it is not visible in the Toolbar or the Tab search.

161.jpg

Also a good and bad news about this node. The good is that it is one of the handful of nodes that you can unGroup and look under the hood to see how the different Photoshop operations work using MergeExpressions. The bad is that if you ever had to debug scripts you know that it is often the Viewer where it's worth to start and for some reasons this Group has a Viewer in it.

Also, this Group is using Colorspace node which on most current shows probably need to be replaced with OCIOColorspace node to work properly.

162.jpg

ParticleBlinkScriptRender

163.jpg