Nuke binary plugins 16.0.1
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Loading...
Searching...
No Matches
Sample Source Code

This is the actual source code used by many of the Nuke plug-ins.

  • AddInputs.cpp Shows how to access multiple inputs and perform basic arithmetic on them.
  • LayerExtractor.cpp A simple demonstation of dynamic enumeration knobs.
  • SimpleBlur.cpp Shows how to perform some basic pixel arithmetic on the input, in this case it blurs it.
  • SimpleBlurCached.cpp Example using image cache.
  • Normalise.cpp Shows how to perform some basic pixel arithmetic on the input, in this case it normalises it.
  • NormaliseExecute.cpp Shows how to normalise images over a frame range, demonstrating how Executable Iops work.
  • GeoTriangle.cpp Shows how to use SourceGeomOp to add some simple geometry into a scene.
  • GeoTwist.cpp Shows how to use ModifyGeomOp to apply a simple point location modification algorithm.
  • my3dReader.cpp Demonstrates the reading of a custom 3d format.
  • my3dWriter.cpp Demonstrates the writing of a custom 3d format.
  • AddCustomQt.cpp Shows how to use your own custom Qt widget for a knob.
  • AddCustomQt.moc.h Shows how to use your own custom Qt widget for a knob.
  • DynamicKnobs.cpp Demonstration of dynamic knobs.
  • KnobParade.cpp Creates one of every sort of NDK supported knob
  • Serialize.cpp Simply saves and loads a text string to and from the current Nuke script.
  • Add.cpp It doesn't get much more basic than this!
  • AddChannels.cpp Add additional channels to the incoming stream.
  • Assert.cpp Simple example setting an error state.
  • Blocky.cpp This is a demonstration of a Nuke plug-in that moves pixels using DD::Image::Tile. In this case blocks of pixels are averaged together to produce the result.
  • CheckerBoard2.cpp Example of an operator that generates an image, with no input.
  • ColorLookup.cpp Example of using the lookup curve knob to present editable curves to the user.
  • Constant.cpp Generate a constant colored image. The simplest generator.
  • Convolve.cpp Generate output from two inputs and a larger region than the output.
  • CornerPin2D.cpp Example of a Transform-derived op.
  • Difference.cpp Computes an output channel based on contents of two input images.
  • Dilate.cpp Example of a two-pass algorithm.
  • IDistort.cpp Uses the sample() call to produce arbitrary distortion of an image.
  • Grade.cpp A simple color operator.
  • OCIOCDLTransform.cpp Example of an OCIO CDLTransform based on the one used in Nuke.
  • OCIOColorSpace.cpp Example of an OCIO ColorSpace based on the one used in Nuke.
  • OCIOConfigManager.cpp Class for managing the loading of OCIO configs.
  • OCIODisplay.cpp Example of an OCIO Display based on the one used in Nuke.
  • OCIOFileTransform.cpp Example of an OCIO FileTransform based on the one used in Nuke.
  • OCIOLogConvert.cpp Example of an OCIO LogConvert based on the one used in Nuke.
  • OCIOLookTransform.cpp Example of an OCIO LookTransform based on the one used in Nuke.
  • OCIOPluginBase.cpp The base class for all OCIO example plugins
  • OCIOWorkingSpaceBase.cpp Helper base class that adds a working space options for OCIOCDLTransform and OCIOFileTransform.
  • Keymix.cpp A very recently-created node showing current Nuke plugin coding practices.
  • Mirror.cpp Example where build_handles modifies the transform used to draw input handles.
  • Noise.cpp A slightly more complex image generator.
  • Position.cpp Example of DD::Image::Row::offset() method.
  • Rectangle.cpp Example of a DD::Image::DrawIop, showing how to draw simple shapes in a single color, for output in arbitrary channels.
  • Remove.cpp Strip channels out of the incoming stream.
  • Saturation.cpp Example of a DD::Image::PixelIop demonstrating how to access and modify multiple channels of an image simultaneously.
  • Socket.cpp Example of a parallel thread (such as a thread reading a socket) updating the output of an operator dynamically.
  • TemporalMedian.cpp Example of an operator that asks for multiple frames of its input
  • DeepToImage.cpp Example of compositing deep data to 2D
  • DeepCrop.cpp Example of processing deep data
  • DeepColorCorrect.cpp Example of processing deep data
  • exrReaderDeep.cpp Example of reading deep data using a library
  • exrWriterDeep.cpp Example of writing deep data using a library
  • cdfReaderDeep.cpp Simple example of reading deep data
  • cdfWriterDeep.cpp Simple example of writing deep data
  • ParticleGravity.cpp Example of particle force
  • Phong.cpp A basic material shader node.
  • SimpleAxis.cpp A simple axis node.
  • UVProject.cpp A node to project uv's onto points and vertices.
  • FishEye.cpp An example of FishEye camera projection.
  • crwReader.cpp Camera raw reader, which uses dcraw to convert the image and read it from stdin.
  • DPXimage.h File needed by dpxReader/Writer
  • dpxReader.cpp The DPX spec supports a wide variety of header fields, not all of which have been implemented in Nuke. Our reader source is provided here for those users who encounter a flavor that we do not yet support and need to implement a custom reader to handle it before a Nuke release with built-in support can be made available.
  • dpxWriter.cpp The DPX spec supports a wide variety of header fields, not all of which have been implemented in Nuke. Our reader source is provided here for those users who encounter a flavor that we do not yet support and need to implement a custom reader to handle it before a Nuke release with built-in support can be made available.
  • exrGeneral.h Nuke's EXR i/o which accomodates files with large numbers of channels.
  • ExrChannelNameToNuke.h Nuke's EXR i/o which accomodates files with large numbers of channels.
  • ExrChannelNameToNuke.cpp Nuke's EXR i/o which accomodates files with large numbers of channels.
  • exrReader.cpp Nuke's EXR i/o which accomodates files with large numbers of channels.
  • exrWriter.cpp Nuke's EXR i/o which accomodates files with large numbers of channels.
  • iffReader.cpp IFF file format reader.
  • pngReader.cpp A fairly straight-forward example of interfacing with an existing file i/o library.
  • pngWriter.cpp A fairly straight-forward example of interfacing with an existing file i/o library.
  • psdReader.cpp Photoshop .psd file reader.
  • tiffReader.cpp Both tiffReader and tiffWriter are in this plugin so only one copy of libtiff is used. This also contains an example of using DD::Image::Memory to allocate large buffers that are freed when memory is needed.
  • yuvReader.cpp The yuv reader is provided as a basic example of a typical file format reader. It uses DD::Image::FileReader as its base class.
  • yuvWriter.cpp This is the counterpart to the yuvReader. It demonstrates, among other things, how Nuke creates and writes individual lines to create the final image.
  • GPUFileShader.cpp Demonstration of a GPU plugin. Reads a file containing a fragment shader.
  • ChannelSelector.cpp Demonstration of a very simple GPU plugin. Selects from a set of channels from the input to display. Works in both CPU and GPU modes.
  • Draw2D.cpp An example of drawing 2D graphics (such as an image overlay) in the Viewer.
  • Draw3D.cpp An example of drawing 3D objects in the Viewer.
  • Handle.cpp An example of getting mouse interaction from the Viewer.
  • PythonGeo.cpp Demonstrates running python from a node, exposing geometry data to python and exposing a custom knob implementation to python.
  • PythonGeo.h Demonstrates running python from a node, exposing geometry data to python and exposing a custom knob implementation to python.
  • CryptomattePlugin.cpp Demonstrates the C++ implementation compatible with version 1.2.8 of the Python-based Nuke gizmo authored at Psyop by Jonah Friedman and Andy Jones (see https://github.com/Psyop/Cryptomatte).
  • CryptomattePlugin.h Demonstrates the C++ implementation compatible with version 1.2.8 of the Python-based Nuke gizmo authored at Psyop by Jonah Friedman and Andy Jones (see https://github.com/Psyop/Cryptomatte).
  • EncryptomattePlugin.cpp Demonstrates the C++ implementation compatible with version 1.2.8 of the Python-based Nuke gizmo authored at Psyop by Jonah Friedman and Andy Jones (see https://github.com/Psyop/Cryptomatte).
  • EncryptomattePlugin.h Demonstrates the C++ implementation compatible with version 1.2.8 of the Python-based Nuke gizmo authored at Psyop by Jonah Friedman and Andy Jones (see https://github.com/Psyop/Cryptomatte).


©2025 The Foundry Visionmongers, Ltd. All Rights Reserved.
www.foundry.com