CompStart

ProLessonsCoursesElementsSoftware

CompStart

Master visual effects with cutting-edge techniques.

Learning

CoursesLessonsPro FeaturesAssetsSoftware

Tools

Tech CheckDisplay CheckMotion BlurCIE 1931PhysLightNuke Tools

Company

InstructorMissionImpressumPrivacyTerms

Projects

Moray RenderEXR ConverterOCIO.ccNuke ToolsDerekVFX

Follow

YouTubeInstagramTikTokThreadsContact

© 2026 CompStart. All rights reserved.

Channel Grain

ToolSets / Channel
Channel

2026-09-07

ToolSets/channel/channelGrain.nk

grain
channel
utility
denoise
layers
regrain
plate
View on GitHub

Isolates residual grain by subtracting a denoise input from a plate, then outputs grain, plate_original, and plate_denoise layers.

Channel Grain compares a beauty plate to a denoised version of the same shot and pulls the residual into its own layer. The denoise input is kept as rgba, written to a plate_denoise layer, then subtracted from the plate (Merge from). That difference is shuffled into a grain layer and copied back onto the stream alongside a plate_original layer.

Use it when you already have a denoise pass and need grain broken out for regrain, channel-level balancing, or downstream layer work. Connect the source plate to plate and the denoised clip to denoise.

There are no exposed knobs. The group outputs RGB from the combined stream with the extra layers merged through; alpha is set to black.

Script code

set cut_paste_input [stack 0]
version 12.1 v5
push 0
push $cut_paste_input
Group {
 inputs 2
 name channelGrain
 tile_color 0x421010ff
 selected true
 xpos -737
 ypos -4476
}
 Input {
  inputs 0
  name denoise
  xpos -694
  ypos -387
  number 1
 }
 Remove {
  operation keep
  channels rgba
  name Remove1
  xpos -694
  ypos -361
 }
set N11dc5f60 [stack 0]
add_layer {plate_denoise plate_denoise.red plate_denoise.green plate_denoise.blue plate_denoise.alpha}
 Shuffle {
  out plate_denoise
  name Shuffle2
  xpos -694
  ypos -213
 }
push $N11dc5f60
 Input {
  inputs 0
  name plate
  xpos -524
  ypos -392
 }
set N1276e860 [stack 0]
 Merge2 {
  inputs 2
  operation from
  name Merge1
  xpos -629
  ypos -306
 }
add_layer {grain grain.red grain.green grain.blue grain.alpha}
 Shuffle {
  out grain
  name Shuffle3
  xpos -629
  ypos -262
 }
push $N1276e860
 Copy {
  inputs 2
  channels grain
  name Copy1
  xpos -524
  ypos -245
 }
add_layer {plate_original plate_original.red plate_original.green plate_original.blue plate_original.alpha}
 Shuffle {
  green2 black
  out plate_original
  name Shuffle1
  xpos -524
  ypos -182
 }
 Merge2 {
  inputs 2
  operation copy
  output {rgba.red rgba.green rgba.blue -rgba.alpha}
  also_merge all
  name Merge2
  xpos -524
  ypos -113
 }
 Shuffle {
  alpha black
  name Shuffle4
  xpos -524
  ypos -87
 }
 Output {
  name Output1
  xpos -524
  ypos -37
 }
end_group