set cut_paste_input [stack 0]
version 12.1 v4
push $cut_paste_input
Group {
name scanlineRenderAdvanced
onCreate "import nuke\n\n#zz = nuke.FrameRange('100-200')\n#print zz.frames()\n\nff = nuke.Root().firstFrame()\nlf = nuke.Root().lastFrame()\n\nnuke.thisNode().knob('fr').setValue('\{\}-\{\}'.format(ff, lf))\n\n\n\n"
tile_color 0x421010ff
label "\[value gui_samples] : \[value render_samples] - \[value overscan_dynamic]"
addUserKnob {20 User l ScanlineRender}
addUserKnob {41 format T Constant1.format}
addUserKnob {1 fr l "frame range" -STARTLINE}
fr 1-100
addUserKnob {41 overscan_dynamic l overscan T ScanlineRender1.overscan_dynamic}
addUserKnob {41 filter l "sample filter" T ScanlineRender1.filter}
addUserKnob {41 antialiasing -STARTLINE T ScanlineRender1.antialiasing}
addUserKnob {41 zblend_mode l "Z-blend mode" -STARTLINE T ScanlineRender1.zblend_mode}
addUserKnob {41 shutter T ScanlineRender1.shutter}
addUserKnob {41 gui_samples l "gui samples" T ScanlineRender1.gui_samples}
addUserKnob {7 gui_scale l "gui scale" -STARTLINE R 0.1 1}
gui_scale 1
addUserKnob {41 render_samples l "render samples" T ScanlineRender1.render_samples}
addUserKnob {7 render_scale l "render scale" -STARTLINE R 1 10}
render_scale 1
addUserKnob {41 filter_1 l "uprez filter" T Reformat2.filter}
addUserKnob {41 expand l "deep soft expand" T DeepExpression1.expand}
addUserKnob {26 ""}
addUserKnob {26 lbl l "" t "July 12, 2019- added overscan\nJuly 19, 2019 - added soft deep and dynamic scale 1.2\nJuly 24, 2019 - added deep proxy scale 1.3" +STARTLINE T "ScanlineRender Advanced v1.3"}
addUserKnob {22 btn l DerekVFX.ca T "nuke.tcl('start', 'https://derekvfx.ca')" +STARTLINE}
addUserKnob {20 aov l AOV}
addUserKnob {41 output_shader_vectors l "output vectors" T ScanlineRender1.output_shader_vectors}
addUserKnob {41 P_channel l "surface point" T ScanlineRender1.P_channel}
addUserKnob {41 N_channel l "surface normal" T ScanlineRender1.N_channel}
}
Constant {
inputs 0
name Constant1
xpos 684
ypos 245
}
set Ndd11400 [stack 0]
Dot {
name Dot5
note_font_size 40
xpos 888
ypos 272
}
Dot {
name Dot4
note_font_size 40
xpos 888
ypos 741
}
Input {
inputs 0
name deepHoldout
xpos 84
ypos 245
number 2
}
DeepReformat {
format {{{parent.Constant1.format}}}
resize none
pbb true
name DeepReformat1
xpos 84
ypos 271
}
set Ndd10400 [stack 0]
DeepReformat {
type scale
scale {{parent.guiScale.scale}}
pbb true
name deepReformatGUI
xpos -41
ypos 346
}
push $Ndd10400
DeepReformat {
type scale
scale {{parent.renderScale.scale}}
pbb true
name deepReformatRender
xpos 84
ypos 346
}
Switch {
inputs 2
which {{"\$gui"}}
name Switch1
label "\[value which]"
xpos 84
ypos 412
}
set Cdd37800 [stack 0]
Dot {
name Dot3
note_font_size 40
xpos 118
ypos 611
}
Input {
inputs 0
name cam
xpos 284
ypos 245
number 1
}
Dot {
name Dot2
note_font_size 40
xpos 318
ypos 502
}
Input {
inputs 0
name scene
xpos 484
ypos 245
}
push $Ndd11400
Reformat {
type scale
scale {{gui_scale}}
name guiScale
xpos 559
ypos 346
}
push $Ndd11400
Reformat {
type scale
scale {{render_scale}}
name renderScale
xpos 684
ypos 346
}
clone $Cdd37800 {
inputs 2
xpos 684
ypos 412
selected false
}
Dot {
name Dot1
note_font_size 40
xpos 718
ypos 502
}
ScanlineRender {
inputs 3
conservative_shader_sampling false
antialiasing high
overscan {{"\$gui ? overscan_dynamic*guiScale.scale : overscan_dynamic*renderScale.scale"}}
samples {{"\$gui ? gui_samples : render_samples"}}
shutteroffset centred
motion_vectors_type distance
name ScanlineRender1
label "\[value samples]"
xpos 484
ypos 492
addUserKnob {20 User}
addUserKnob {3 gui_samples}
gui_samples 1
addUserKnob {3 render_samples}
render_samples 5
addUserKnob {7 overscan_dynamic R 0 100}
overscan_dynamic 32.8
}
DeepExpression {
chans1 deep
deep.front "deep.front - \[value expand]"
deep.back "deep.back + \[value expand]"
name DeepExpression1
xpos 484
ypos 551
disable {{"expand == 0"}}
addUserKnob {20 User}
addUserKnob {7 expand R 0 100}
expand 30.4
}
DeepHoldout2 {
inputs 2
name DeepHoldout1
xpos 484
ypos 607
}
Reformat {
format {{{parent.Constant1.format}}}
pbb true
name Reformat2
xpos 484
ypos 676
}
Switch {
inputs 2
name Switch2
xpos 484
ypos 737
disable true
}
Output {
name Output1
xpos 484
ypos 785
}
end_group