Using the BlinkScript Node
The BlinkScript node runs Foundry's Blink framework enabling you to write your code once and run it on any supported device. This is achieved through code translation, in which the Blink code is turned into specific code for each target device. Code is generated and compiled on-the-fly, allowing you to switch between devices at will.
BlinkScript runs a Blink "kernel" over every pixel in the output, where a Blink kernel is similar to a C++ class, but with some special parameter types and functions. Through translation, the code in the BlinkScript node can be turned into normal C++ or SIMD code for the CPU, or OpenCL or CUDA for the GPU.
The Blink framework streamlines plug-in development workflow significantly, as you no longer have to exit Nuke to compile your code.
Note: BlinkScript is disabled in the Non-commercial version of Nuke.
You can publish kernels in Group nodes which can then be saved as gizmos, if required. Published kernels can be encoded to protect your IP using BlinkScript's built-in kernel protection. Protected kernels are not readable when the published node is saved to a script.
Warning: BlinkScript is very flexible, as there are no restrictions on the code you can write within a kernel. As a result, code compiled from the Kernel Source can cause Nuke to crash, so please use caution!
For more information, see Nuke's Help menu under Documentation > Guide to Writing Blink Kernels or navigate to: https://learn.foundry.com/nuke/developers/12.2/BlinkKernels/