BlinkScript
Runs a Blink kernel on the GPU.
Runs a Blink kernel on the GPU. Edit the kernel source, press Recompile (Ctrl+Enter); params become knobs, images become inputs. Scatter writes, reduction / rolling / particle kernels are not supported. Specify Output Format sets the output size; otherwise it follows the first input.
| Node | BlinkScript |
|---|---|
| Menu | Other › BlinkScript |
| Names in each format | |
| .oink comp (JSON) | "type": "OC_N_blinkscript" |
| .nk script | BlinkScript (how .nk import works) |
| Python | nuke.createNode("BlinkScript") |
| Assistant (MCP) | create_node(type="BlinkScript") |
| Tab search | blinkscript, or its initials bs |

Inputs and outputs
| Port | Name | Type |
|---|---|---|
| input 0 | src | image |
| output 0 | Image | image |
Knobs
Knobs from the node definition (this node has no panel layout in the app yet).
| Knob | Label | Type | Default | Range / values | .nk knob | Description |
|---|---|---|---|---|---|---|
gl_color | Viewer Controls Color | float ×3 | 0, 0, 0 | 0 to 1 | ||
postage_stamp_frame | Static Frame | int | 1 | -2147483648 to 2147483647 | ||
lifetimeStart | Lifetime Start | int | 0 | -2147483648 to 2147483647 | ||
lifetimeEnd | Lifetime End | int | 100 | -2147483648 to 2147483647 | ||
useLifetime | Use Lifetime | boolean | false | |||
cached | Cached | boolean | false | |||
bookmark | Bookmark | boolean | false | |||
dope_sheet | Dope Sheet | boolean | false | |||
clone_group | Clone Group | string | ||||
link_source | Link Source | string | ||||
link_overrides | Link Overrides | string | ||||
split_views | Split Views | string | ||||
kernel_source | Kernel Source | string | `// Saturation: scale colour away from / towards its Rec.709 luma. | |||
| kernel SaturationKernel : ImageComputationKernel | ||||||
| { | ||||||
| Image<eRead, eAccessPoint, eEdgeClamped> src; | ||||||
| Image dst; |
param: float saturation;
local: float3 weights;
void define() { defineParam(saturation, "Saturation", 1.2f); }
void init() { weights = float3(0.2126f, 0.7152f, 0.0722f); }
void process() {
SampleType(src) in = src();
float3 rgb(in.x, in.y, in.z);
float luma = dot(rgb, weights);
float3 result = (rgb - luma) * saturation + luma;
dst() = float4(result.x, result.y, result.z, in.w);
}
};
| | | | |kernel_knobs| Kernel Knobs | string |[]| | | | |kernel_values| Kernel Values | string |{}| | | | |kernel_info| Kernel Info | string |{}| | | | |compile_error| Compile Error | string | | | | | |recompile_count| Recompile | int |0| -2147483648 to 2147483647 | | | |specify_format| Specify Output Format | boolean |false| | | | |format` | Output Format | enum | | | | |
Examples
Open these from Help › Examples…, or from the ? menu in this node's Properties panel.
- BlinkScript kernel (
examples/blink/blinkscript_saturation.oink): The default BlinkScript kernel (a saturation kernel written in Nuke's Blink language) running on the GPU through Oink's Blink-to-GLSL translator. Edit the kernel source in the properties and recompile.