Skip to content

Instantly share code, notes, and snippets.

@rafaelperez
Created June 17, 2019 13:38
Show Gist options
  • Save rafaelperez/aff032f5ac5cd8c2ee9805d237aa7f4c to your computer and use it in GitHub Desktop.
Save rafaelperez/aff032f5ac5cd8c2ee9805d237aa7f4c to your computer and use it in GitHub Desktop.
#! /home/vfx/Nuke11.1v1/libnuke-11.1.1.so -nx
version 11.1 v1
define_window_layout_xml {<?xml version="1.0" encoding="UTF-8"?>
<layout version="1.0">
<window x="1920" y="25" w="1920" h="2107" screen="0">
<splitter orientation="1">
<split size="1214"/>
<splitter orientation="2">
<split size="1102"/>
<dock id="" activePageId="Viewer.1">
<page id="Viewer.1"/>
</dock>
<split size="952"/>
<splitter orientation="1">
<split size="1214"/>
<dock id="" activePageId="DAG.1" focus="true">
<page id="Curve Editor.1"/>
<page id="DAG.1"/>
<page id="DAG.2"/>
</dock>
</splitter>
</splitter>
<split size="702"/>
<splitter orientation="2">
<split size="64"/>
<dock id="" hideTitles="1" activePageId="Toolbar.1">
<page id="Toolbar.1"/>
</dock>
<split size="1990"/>
<dock id="" activePageId="Properties.1">
<page id="Properties.1"/>
</dock>
</splitter>
</splitter>
</window>
</layout>
}
Root {
inputs 0
name /home/shared/screen_keyer_group.nk
frame 22
last_frame 72
lock_range true
format "1920 1080 0 0 1920 1080 1 HD_1080"
proxy_type scale
proxy_format "1024 778 0 0 1024 778 1 1K_Super_35(full-ap)"
colorManagement Nuke
workingSpaceLUT linear
monitorLut sRGB
int8Lut sRGB
int16Lut sRGB
logLut Cineon
floatLut linear
}
IBKGizmoV3 {
inputs 0
name IBKGizmoV3_1
selected false
xpos 618
ypos -15
}
Group {
inputs 0
name Group1
help "There are 2 basic approaches to pull a key with IBK. One is to use IBKColour and the C input and the other is to pick a colour which best represents the area you are trying to key.\n\nThe colour weights deal with the hardness of the matte. If you view the output (with screen subtraction ticked on) you will typically see areas where edges have a slight discolouration\ndue to the background not being fully removed from the original plate. This is not spill but a result of the matte being too strong. Lowering one of the weights will correct that particular edge. If it's\na red foreground image with an edge problem bring down the red weight - same idea for the other weight. This may affect other edges so the use of multiple IBKGizmo's with different weights split with KeyMixes is recommended.\n\nThe 'luminance match' feature adds a luminance factor to the keying algorithm which helps to capture transparent areas of the foreground which are brighter than the backing screen. It will also allow you to lessen some of the garbage area noise by bringing down the screen range - \npushing this control too far will also eat into some of your foreground blacks. 'Luminance level' allows you to make the overall effect stronger or weaker.\n\n'autolevels' will perform a colour correction before the image is pulled so that hard edges from a foreground subject with saturated colours are reduced. The same can be achieved with the weights but here only those saturated colours are affected whereas the use of weights will\naffect the entire image. When using this feature it's best to have this as a separate node which you can then split with other IBKGizmos as the weights will no longer work as expected. You can override some of the logic for when you actually have particular foreground colours you want to keep.\nFor example when you have a saturated red subject against bluescreen you'll get a magenta transition area. Autolevels will eliminate this but if you have a magenta foreground object then this control will make the magenta more red unless you check the magenta box to keep it.\n\n'screen subtraction' will remove the backing from the rgb via a subtraction process. Unchecking this will simply premultiply the original fg with the generated matte.\n\n'use bkg luminance' and 'use bkg chroma' allow you to affect the output rgb by the new bg. These controls are best used with the 'luminance match' sliders above. This feature can also sometimes really help with screens that exhibit some form of fringing artifact - usually a darkening or\nlightening of an edge on one of the colour channels on the screen. You can offset the effect by grading the bg input up or down with a grade node just before input. If it's just an area which needs help then just bezier that area and locally grade the\nbg input up or down to remove the artifact."
tile_color 0x990000
xpos 736
ypos 25
addUserKnob {20 "" l IBK}
addUserKnob {4 st l "screen type" t "use the C input to define the screen colour on a per pixel basis or use 'pick' and the colour tab below" M {C-blue C-green pick}}
addUserKnob {18 colour l "colour " t "use this colour instead of the C input when 'pick' is enabled above"}
colour {0 0 1}
addUserKnob {6 colour_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {26 ""}
addUserKnob {41 red_weight l "red weight" T IBK1.red_weight}
addUserKnob {41 blue_green_weight l "blue/green weight" T IBK1.blue_green_weight}
addUserKnob {26 ""}
addUserKnob {41 lm_enable l "luminance match" T IBK1.lm_enable}
addUserKnob {41 level l "screen range" T IBK1.level}
addUserKnob {41 luma l "luminance level" T IBK1.luma}
addUserKnob {41 ll_enable l enable T IBK1.ll_enable}
addUserKnob {26 ""}
addUserKnob {41 autolevels T IBK1.autolevels}
addUserKnob {41 yellow T IBK1.yellow}
addUserKnob {41 cyan T IBK1.cyan}
addUserKnob {41 magenta T IBK1.magenta}
addUserKnob {26 ""}
addUserKnob {41 ss l "screen subtraction" T IBK1.ss}
addUserKnob {6 ublu l "use bkg luminance" t "have the brightness of the edge be affected by the brightness of the bg input" -STARTLINE}
addUserKnob {6 ubcr l "use bkg chroma" t "have the colour of the edge be affected by the colour of the bg input" -STARTLINE}
}
Input {
inputs 0
name bg
xpos 559
ypos 175
number 2
}
set N723a600 [stack 0]
Input {
inputs 0
name fg
xpos 38
ypos 122
}
set Nab298f30 [stack 0]
Grade {
multiply 0
add {{colour.r} {colour.g} {colour.b} {curve}}
black_clamp false
name Grade1
selected true
xpos 158
ypos 178
}
Input {
inputs 0
name c
xpos 423
ypos 178
number 1
}
Switch {
inputs 2
which {{st==2}}
name Switch1
xpos 293
ypos 178
}
set Nab3d8630 [stack 0]
push $Nab298f30
push $Nab298f30
IBK {
inputs 4
screen_type green
red_weight {{IBK1.red_weight}}
blue_green_weight {{IBK1.blue_green_weight}}
lm_enable {{IBK1.lm_enable}}
level {{IBK1.level}}
luma {{IBK1.luma}}
ll_enable {{IBK1.ll_enable}}
autolevels {{IBK1.autolevels}}
yellow {{IBK1.yellow}}
cyan {{IBK1.cyan}}
magenta {{IBK1.magenta}}
ss {{IBK1.ss}}
clamp_alpha {{IBK1.clamp_alpha}}
rgbal {{IBK1.rgbal}}
ubl {{IBK1.ubl}}
ubc {{IBK1.ubc}}
name IBK3
note_font_color 0xff0000
xpos 48
ypos 306
}
push $N723a600
push $Nab3d8630
push $Nab298f30
push $Nab298f30
IBK {
inputs 4
red_weight 0.5
blue_green_weight 0.5
luma 0
rgbal true
ubl {{ublu}}
ubc {{ubcr}}
name IBK1
note_font_color 0xff00
xpos 293
ypos 302
}
Switch {
inputs 2
which {{st==2?colour.g>colour.b:st}}
name Switch6
xpos 48
ypos 396
}
Output {
name Output1
xpos 48
ypos 466
}
end_group
Read {
inputs 0
file /home/shared/unblending/examples_raf/vfx/atm103_019_010/plates/plate/atm103_019_010_bg_plt_v002/CompressedEXR/atm103_019_010_bg_plt_v002.####.exr
format "1920 1080 0 0 1920 1080 1 HD_1080"
last 72
origlast 72
origset true
name Read2
xpos 116
ypos -79
}
Colorspace {
colorspace_out Cineon
name Colorspace1
xpos 125
ypos 48
}
set N4169ebe0 [stack 0]
IBKColourV3 {
name IBKColourV3_1
xpos 379
ypos -101
Size 8
off {-0.1 0.04 0}
mult {1 1 1.2}
erode 55
multi 24
}
Dot {
name Dot1
xpos 449
ypos 33
}
set N7bfda850 [stack 0]
push $N4169ebe0
Group {
inputs 2
name sk2
xpos 208
ypos 252
addUserKnob {20 User}
addUserKnob {41 softnessLower l "Lower softness" T Constant4.color}
addUserKnob {41 toleranceLower l "Lower tolerance" T Constant5.color}
addUserKnob {41 center l Center T Constant6.color}
addUserKnob {41 toleranceUpper l "Upper tolerance" T Constant7.color}
addUserKnob {41 softnessUpper l "Upper Softness" T Constant8.color}
addUserKnob {26 ""}
addUserKnob {41 despill l Despill T Constant2.color}
addUserKnob {41 despillAngle l "Despill angle" T Constant3.color}
}
Constant {
inputs 0
channels rgb
color 1
name Constant_int_1
xpos -10
ypos 424
}
set Nab8a9140 [stack 0]
Input {
inputs 0
name c
xpos -158
ypos 4
number 1
}
Dot {
name Dot4
xpos -121
ypos 113
}
set Nab8a9550 [stack 0]
Expression {
expr0 (r*r)+(g*g)+(b*b)
expr1 0
expr2 0
name Expression3
label keyColorNorm2
xpos 112
ypos 239
}
set N7af9d5a0 [stack 0]
push $Nab8a9550
Expression {
expr0 r+g+b
expr1 0
expr2 0
name Expression2
label keyColor111
xpos -2
ypos 236
}
set Nab8bfc70 [stack 0]
Merge2 {
inputs 2
operation divide
name Merge1
xpos 116
ypos 360
}
Merge2 {
inputs 2
operation minus
name Merge10
xpos 178
ypos 405
}
push $Nab8a9140
NoOp {
name NoOp1
label 1
xpos -174
ypos 1475
hide_input true
}
Input {
inputs 0
name img
xpos -452
ypos 49
}
Dot {
name Dot3
xpos -414
ypos 200
}
set Ne8278a40 [stack 0]
push $Nab8a9550
MergeExpression {
inputs 2
expr0 (Ar*Br)+(Ag*Bg)+(Ab*Bb)
expr1 0
expr2 0
name MergeExpression1
label scalarProd
xpos -208
ypos 263
}
set N7af68070 [stack 0]
push $Nab8bfc70
Merge2 {
inputs 2
operation divide
name Merge5
label "Kgf intermediate"
xpos -342
ypos 504
}
push $Ne8278a40
Expression {
expr0 (r*r)+(g*g)+(b*b)
expr1 0
expr2 0
name Expression1
label norm2
xpos -324
ypos 259
}
push $N7af68070
push $N7af68070
Merge2 {
inputs 2
operation multiply
name Merge2
xpos -192
ypos 354
}
push $N7af9d5a0
Merge2 {
inputs 2
operation divide
name Merge3
xpos -119
ypos 449
}
Merge2 {
inputs 2
operation minus
name Merge4
xpos -229
ypos 487
}
Expression {
expr0 sqrt(max(0,r))
name Expression5
label d
xpos -200
ypos 556
}
set Ne898f760 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge6
label "Kfg\n"
xpos -385
ypos 702
}
Dot {
name Dot1
xpos -323
ypos 1316
}
Constant {
inputs 0
channels rgb
color 1
name Constant8
label "softnessUpper\n"
xpos -174
ypos 1215
}
Constant {
inputs 0
channels rgb
color 1
name Constant7
label "toleranceUpper\n\n"
xpos -170
ypos 1099
}
Constant {
inputs 0
channels rgb
color 0.6
name Constant6
label "center\n"
xpos -195
ypos 982
}
Constant {
inputs 0
channels rgb
color -0.2
name Constant5
label toleranceLower
xpos -192
ypos 858
}
Constant {
inputs 0
channels rgb
color {-0.4}
name Constant4
label softnessLower
selected true
xpos -196
ypos 757
}
Constant {
inputs 0
channels rgb
name Constant9
xpos -61
ypos 655
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.red
name Copy1
xpos -52
ypos 817
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.green
name Copy2
xpos -44
ypos 931
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.blue
name Copy3
xpos -35
ypos 1029
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.alpha
name Copy4
xpos -35
ypos 1159
}
Copy {
inputs 2
from0 rgba.red
to0 depth.Z
name Copy5
xpos -18
ypos 1283
}
Copy {
inputs 2
from0 rgba.red
to0 forward.u
name Copy6
xpos -18
ypos 1389
}
Expression {
expr0 "(((b+g)<=0.)&&(forward.u<=0.))?1.:(forward.u<(b+g+r))?0.:((forward.u<(b+g))&&(r<0.))?(forward.u-(b+g+r))/-r:(forward.u<=b+a)?1.:((1.<=(b+a))&&(1.<=forward.u))?1.:((forward.u<(b+a+depth.Z))&&(depth.Z>0.))?((b+a+depth.Z)-forward.u)/depth.Z:0.\n"
expr1 0
expr2 0
name Expression7
label "Kbg\n"
xpos -30
ypos 1503
}
set Nab8ea150 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge13
label 1-Kfg
xpos -115
ypos 1595
}
set Nab8f6970 [stack 0]
Shuffle {
green red
blue red
alpha red
name Shuffle1
xpos -128
ypos 1680
}
set Nab7887e0 [stack 0]
push $Ne8278a40
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
name Copy7
xpos -299
ypos 1787
}
Premult {
name Premult1
xpos -295
ypos 1915
}
push $Nab7887e0
push $N7af68070
push $N7af9d5a0
Expression {
expr0 sqrt(r)
expr1 0
expr2 0
name Expression4
label keyColorNorm
xpos 266
ypos 337
}
set Nab7ad860 [stack 0]
Merge2 {
inputs 2
operation divide
name Merge7
label "scalarProd / keyColorNorm"
xpos 228
ypos 456
}
set Nab7b9140 [stack 0]
push $Ne898f760
Constant {
inputs 0
channels rgb
color 30
name Constant3
label "despill_angle\t"
xpos 145
ypos 502
}
Expression {
expr0 tan((90-0.5*r)*(3.1415/180.))
name Expression6
label despillClosing
xpos 198
ypos 604
}
Merge2 {
inputs 2
operation multiply
name Merge8
label "d * _despillClosing"
xpos 255
ypos 703
}
set Nab7df1b0 [stack 0]
MergeExpression {
inputs 2
expr0 Ar>Br?1:0
name MergeExpression2
xpos 571
ypos 714
}
push $Ne8278a40
Dot {
name Dot2
xpos 817
ypos 1843
}
set Nab7fca30 [stack 0]
push $Nab7fca30
push $Nab8a9550
push $Nab8ea150
push $Nab8f6970
push $Nab8a9140
Constant {
inputs 0
channels rgb
color 0.6
name Constant2
label despill
xpos -9
ypos 527
}
set Nab682690 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge14
xpos 187
ypos 818
}
Constant {
inputs 0
channels rgb
name Constant_int_0
xpos 443
ypos 393
}
Merge2 {
inputs 2
operation max
name Merge15
xpos 242
ypos 878
}
Merge2 {
inputs 2
operation multiply
name Merge12
xpos 164
ypos 1459
}
push $Nab682690
push $Nab8a9140
Merge2 {
inputs 2
operation min
name Merge16
xpos 315
ypos 1038
}
Merge2 {
inputs 2
operation plus
name Merge17
xpos 362
ypos 1337
}
Merge2 {
inputs 2
operation multiply
name Merge18
label maxdespill
xpos 408
ypos 1475
}
push $Nab7ad860
push $Nab7b9140
push $Nab7df1b0
Merge2 {
inputs 2
operation minus
name Merge9
xpos 449
ypos 838
}
set Nab6f24a0 [stack 0]
Merge2 {
inputs 2
operation max
name Merge11
xpos 340
ypos 904
}
Merge2 {
inputs 2
operation multiply
name Merge19
label colorshift
xpos 592
ypos 1524
}
push $Nab6f24a0
Merge2 {
inputs 2
operation min
name Merge20
label "colorshift final\n"
xpos 685
ypos 1599
}
Shuffle {
green red
blue red
alpha red
name Shuffle2
xpos 685
ypos 1663
}
Merge2 {
inputs 2
operation multiply
name Merge21
xpos 814
ypos 1720
}
push $Nab7ad860
Shuffle {
green red
blue red
alpha red
name Shuffle3
xpos 914
ypos 1544
}
Merge2 {
inputs 2
operation divide
name Merge22
xpos 924
ypos 1771
}
Merge2 {
inputs 2
operation minus
name Merge23
xpos 930
ypos 1918
}
Keymix {
inputs 3
maskChannel rgba.red
invertMask true
name Keymix1
xpos 402
ypos 1906
}
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
name Copy8
xpos 123
ypos 1990
}
Premult {
name Premult2
xpos 99
ypos 2090
}
Output {
name Output1
xpos 76
ypos 2276
}
Viewer {
frame_range 1-100
colour_sample_bbox {-0.004166666884 0.3833333254 -0.003125000047 0.384375006}
name Viewer1
xpos 759
ypos 899
}
end_group
Constant {
inputs 0
channels rgb
color {0.33 0.52 0.8 0}
format "1920 1080 0 0 1920 1080 1 HD_1080"
name Constant1
xpos 466
ypos -141
}
push $N7bfda850
push $N4169ebe0
Group {
inputs 2
name sk3
xpos 380
ypos 189
addUserKnob {20 User}
addUserKnob {7 lowersoftness l "Lower softness" R -1 0}
lowersoftness -0.5
addUserKnob {7 lowertolerance l "Lower tolerance" R -1 0}
addUserKnob {7 center l Center}
center 0.6
addUserKnob {7 uppertolerance l "Upper tolerance"}
uppertolerance 1
addUserKnob {7 uppersoftness l Uppersoftness}
uppersoftness 1
addUserKnob {26 "" +STARTLINE}
addUserKnob {7 despill l Despill R 0 2}
despill 0.7
addUserKnob {7 despillangle l "Despill angle" R 0 180}
despillangle 50
}
Constant {
inputs 0
channels rgb
color 1
name Constant_int_1
xpos -10
ypos 424
}
set Na4097c70 [stack 0]
Input {
inputs 0
name c
xpos -158
ypos 4
number 1
}
Dot {
name Dot4
xpos -121
ypos 113
}
set Ne84ec8b0 [stack 0]
Expression {
expr0 (r*r)+(g*g)+(b*b)
expr1 0
expr2 0
name Expression3
label keyColorNorm2
xpos 112
ypos 239
}
set Na4099330 [stack 0]
push $Ne84ec8b0
Expression {
expr0 r+g+b
expr1 0
expr2 0
name Expression2
label keyColor111
xpos -2
ypos 236
}
set Ne86e7170 [stack 0]
Merge2 {
inputs 2
operation divide
name Merge1
xpos 116
ypos 360
}
Merge2 {
inputs 2
operation minus
name Merge10
xpos 178
ypos 405
}
push $Na4097c70
NoOp {
name NoOp1
label 1
xpos -174
ypos 1475
hide_input true
}
Input {
inputs 0
name img
xpos -452
ypos 49
}
Dot {
name Dot3
xpos -414
ypos 200
}
set Ne86838d0 [stack 0]
push $Ne84ec8b0
MergeExpression {
inputs 2
expr0 (Ar*Br)+(Ag*Bg)+(Ab*Bb)
expr1 0
expr2 0
name MergeExpression1
label scalarProd
xpos -208
ypos 263
}
set N7239410 [stack 0]
push $Ne86e7170
Merge2 {
inputs 2
operation divide
name Merge5
label "Kgf intermediate"
xpos -342
ypos 504
}
push $Ne86838d0
Expression {
expr0 (r*r)+(g*g)+(b*b)
expr1 0
expr2 0
name Expression1
label norm2
xpos -324
ypos 259
}
push $N7239410
push $N7239410
Merge2 {
inputs 2
operation multiply
name Merge2
xpos -192
ypos 354
}
push $Na4099330
Merge2 {
inputs 2
operation divide
name Merge3
xpos -119
ypos 449
}
Merge2 {
inputs 2
operation minus
name Merge4
xpos -229
ypos 487
}
Expression {
expr0 sqrt(max(0,r))
name Expression5
label d
xpos -200
ypos 556
}
set Ne8183560 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge6
label "Kfg\n"
xpos -385
ypos 702
}
Dot {
name Dot1
xpos -323
ypos 1316
}
Constant {
inputs 0
channels rgb
color {{uppersoftness}}
name Constant8
label "softnessUpper\n"
xpos -174
ypos 1215
}
Constant {
inputs 0
channels rgb
color {{uppertolerance}}
name Constant7
label "toleranceUpper\n\n"
xpos -170
ypos 1099
}
Constant {
inputs 0
channels rgb
color {{center}}
name Constant6
label "center\n"
xpos -195
ypos 982
}
Constant {
inputs 0
channels rgb
color {{lowertolerance}}
name Constant5
label toleranceLower
xpos -192
ypos 858
}
Constant {
inputs 0
channels rgb
color {{lowersoftness}}
name Constant4
label softnessLower
xpos -196
ypos 757
}
Constant {
inputs 0
channels rgb
name Constant9
xpos -61
ypos 655
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.red
name Copy1
xpos -52
ypos 817
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.green
name Copy2
xpos -44
ypos 931
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.blue
name Copy3
xpos -35
ypos 1029
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.alpha
name Copy4
xpos -35
ypos 1159
}
Copy {
inputs 2
from0 rgba.red
to0 depth.Z
name Copy5
xpos -18
ypos 1283
}
Copy {
inputs 2
from0 rgba.red
to0 forward.u
name Copy6
xpos -18
ypos 1389
}
Expression {
expr0 "(((b+g)<=0.)&&(forward.u<=0.))?1.:(forward.u<(b+g+r))?0.:((forward.u<(b+g))&&(r<0.))?(forward.u-(b+g+r))/-r:(forward.u<=b+a)?1.:((1.<=(b+a))&&(1.<=forward.u))?1.:((forward.u<(b+a+depth.Z))&&(depth.Z>0.))?((b+a+depth.Z)-forward.u)/depth.Z:0.\n"
expr1 0
expr2 0
name Expression7
label "Kbg\n"
xpos -30
ypos 1503
}
set Ne82916a0 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge13
label 1-Kfg
xpos -115
ypos 1595
}
set N7af62c00 [stack 0]
Shuffle {
green red
blue red
alpha red
name Shuffle1
xpos -128
ypos 1680
}
set Ne82d9410 [stack 0]
push $Ne86838d0
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
name Copy7
xpos -299
ypos 1787
}
Premult {
name Premult1
xpos -295
ypos 1915
}
push $Ne82d9410
push $N7239410
push $Na4099330
Expression {
expr0 sqrt(r)
expr1 0
expr2 0
name Expression4
label keyColorNorm
xpos 266
ypos 337
}
set Ne829ef40 [stack 0]
Merge2 {
inputs 2
operation divide
name Merge7
label "scalarProd / keyColorNorm"
xpos 228
ypos 456
}
set Ne8299970 [stack 0]
push $Ne8183560
Constant {
inputs 0
channels rgb
color {{despillangle}}
name Constant3
label "despill_angle\t"
xpos 145
ypos 502
}
Expression {
expr0 tan((90-0.5*r)*(3.1415/180.))
name Expression6
label despillClosing
xpos 198
ypos 604
}
Merge2 {
inputs 2
operation multiply
name Merge8
label "d * _despillClosing"
xpos 255
ypos 703
}
set Ne81e9480 [stack 0]
MergeExpression {
inputs 2
expr0 Ar>Br?1:0
name MergeExpression2
xpos 571
ypos 714
}
push $Ne86838d0
Dot {
name Dot2
xpos 817
ypos 1843
}
set Nabfe8ec0 [stack 0]
push $Nabfe8ec0
push $Ne84ec8b0
push $Ne82916a0
push $N7af62c00
push $Na4097c70
Constant {
inputs 0
channels rgb
color {{despill}}
name Constant2
label despill
xpos -9
ypos 527
}
set Ne81cd630 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge14
xpos 187
ypos 818
}
Constant {
inputs 0
channels rgb
name Constant_int_0
xpos 443
ypos 393
}
Merge2 {
inputs 2
operation max
name Merge15
xpos 242
ypos 878
}
Merge2 {
inputs 2
operation multiply
name Merge12
xpos 164
ypos 1459
}
push $Ne81cd630
push $Na4097c70
Merge2 {
inputs 2
operation min
name Merge16
xpos 315
ypos 1038
}
Merge2 {
inputs 2
operation plus
name Merge17
xpos 362
ypos 1337
}
Merge2 {
inputs 2
operation multiply
name Merge18
label maxdespill
xpos 408
ypos 1475
}
push $Ne829ef40
push $Ne8299970
push $Ne81e9480
Merge2 {
inputs 2
operation minus
name Merge9
xpos 449
ypos 838
}
set Ne82cd430 [stack 0]
Merge2 {
inputs 2
operation max
name Merge11
xpos 340
ypos 904
}
Merge2 {
inputs 2
operation multiply
name Merge19
label colorshift
xpos 592
ypos 1524
}
push $Ne82cd430
Merge2 {
inputs 2
operation min
name Merge20
label "colorshift final\n"
xpos 685
ypos 1599
}
Shuffle {
green red
blue red
alpha red
name Shuffle2
xpos 685
ypos 1663
}
Merge2 {
inputs 2
operation multiply
name Merge21
xpos 814
ypos 1720
}
push $Ne829ef40
Shuffle {
green red
blue red
alpha red
name Shuffle3
xpos 914
ypos 1544
}
Merge2 {
inputs 2
operation divide
name Merge22
xpos 924
ypos 1771
}
Merge2 {
inputs 2
operation minus
name Merge23
xpos 930
ypos 1918
}
Keymix {
inputs 3
maskChannel rgba.red
invertMask true
name Keymix1
xpos 402
ypos 1906
}
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
name Copy8
xpos 123
ypos 1990
}
Premult {
name Premult2
xpos 99
ypos 2090
}
Output {
name Output1
xpos 76
ypos 2276
}
Viewer {
frame_range 1-100
colour_sample_bbox {-0.004166666884 0.3833333254 -0.003125000047 0.384375006}
name Viewer1
xpos 759
ypos 899
}
end_group
push $N7bfda850
push $N4169ebe0
Group {
inputs 2
name screen_keyer
xpos 140
ypos 199
addUserKnob {20 User}
addUserKnob {41 softnessLower l "Lower softness" T Constant4.color}
addUserKnob {41 toleranceLower l "Lower tolerance" T Constant5.color}
addUserKnob {41 center l Center T Constant6.color}
addUserKnob {41 toleranceUpper l "Upper tolerance" T Constant7.color}
addUserKnob {41 softnessUpper l "Upper Softness" T Constant8.color}
addUserKnob {26 "" +STARTLINE}
addUserKnob {41 despill l Despill T Constant2.color}
addUserKnob {41 despillAngle l "Despill angle" T Constant3.color}
}
Constant {
inputs 0
channels rgb
color 1
name Constant_int_1
xpos -10
ypos 424
}
set N14c6ab20 [stack 0]
Input {
inputs 0
name c
xpos -158
ypos 4
number 1
}
Dot {
name Dot4
xpos -121
ypos 113
}
set Ncf644d0 [stack 0]
Expression {
expr0 (r*r)+(g*g)+(b*b)
expr1 0
expr2 0
name Expression3
label keyColorNorm2
xpos 112
ypos 239
}
set N16892a20 [stack 0]
push $Ncf644d0
Expression {
expr0 r+g+b
expr1 0
expr2 0
name Expression2
label keyColor111
xpos -2
ypos 236
}
set N10918760 [stack 0]
Merge2 {
inputs 2
operation divide
name Merge1
xpos 116
ypos 360
}
Merge2 {
inputs 2
operation minus
name Merge10
xpos 178
ypos 405
}
push $N14c6ab20
NoOp {
name NoOp1
label 1
xpos -174
ypos 1475
hide_input true
}
Input {
inputs 0
name img
xpos -452
ypos 49
}
Dot {
name Dot3
xpos -414
ypos 200
}
set N844884b0 [stack 0]
push $Ncf644d0
MergeExpression {
inputs 2
expr0 (Ar*Br)+(Ag*Bg)+(Ab*Bb)
expr1 0
expr2 0
name MergeExpression1
label scalarProd
xpos -208
ypos 263
}
set N8448d7b0 [stack 0]
push $N10918760
Merge2 {
inputs 2
operation divide
name Merge5
label "Kgf intermediate"
xpos -342
ypos 504
}
push $N844884b0
Expression {
expr0 (r*r)+(g*g)+(b*b)
expr1 0
expr2 0
name Expression1
label norm2
xpos -324
ypos 259
}
push $N8448d7b0
push $N8448d7b0
Merge2 {
inputs 2
operation multiply
name Merge2
xpos -192
ypos 354
}
push $N16892a20
Merge2 {
inputs 2
operation divide
name Merge3
xpos -119
ypos 449
}
Merge2 {
inputs 2
operation minus
name Merge4
xpos -229
ypos 487
}
Expression {
expr0 sqrt(max(0,r))
name Expression5
label d
xpos -200
ypos 556
}
set N844e6880 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge6
label "Kfg\n"
xpos -385
ypos 702
}
Dot {
name Dot1
xpos -323
ypos 1316
}
Constant {
inputs 0
channels rgb
color 1
name Constant8
label "softnessUpper\n"
xpos -174
ypos 1215
}
Constant {
inputs 0
channels rgb
color 1
name Constant7
label "toleranceUpper\n\n"
xpos -170
ypos 1099
}
Constant {
inputs 0
channels rgb
color 0.655
name Constant6
label "center\n"
xpos -195
ypos 982
}
Constant {
inputs 0
channels rgb
name Constant5
label toleranceLower
xpos -192
ypos 858
}
Constant {
inputs 0
channels rgb
color -0.17
name Constant4
label softnessLower
xpos -196
ypos 757
}
Constant {
inputs 0
channels rgb
name Constant9
xpos -61
ypos 655
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.red
name Copy1
xpos -52
ypos 817
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.green
name Copy2
xpos -44
ypos 931
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.blue
name Copy3
xpos -35
ypos 1029
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.alpha
name Copy4
xpos -35
ypos 1159
}
Copy {
inputs 2
from0 rgba.red
to0 depth.Z
name Copy5
xpos -18
ypos 1283
}
Copy {
inputs 2
from0 rgba.red
to0 forward.u
name Copy6
xpos -18
ypos 1389
}
Expression {
expr0 "(((b+g)<=0.)&&(forward.u<=0.))?1.:(forward.u<(b+g+r))?0.:((forward.u<(b+g))&&(r<0.))?(forward.u-(b+g+r))/-r:(forward.u<=b+a)?1.:((1.<=(b+a))&&(1.<=forward.u))?1.:((forward.u<(b+a+depth.Z))&&(depth.Z>0.))?((b+a+depth.Z)-forward.u)/depth.Z:0.\n"
expr1 0
expr2 0
name Expression7
label "Kbg\n"
xpos -30
ypos 1503
}
set N700b5950 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge13
label 1-Kfg
xpos -115
ypos 1595
}
set N700c2040 [stack 0]
Shuffle {
green red
blue red
alpha red
name Shuffle1
xpos -128
ypos 1680
}
set N700d45e0 [stack 0]
push $N844884b0
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
name Copy7
xpos -299
ypos 1787
}
Premult {
name Premult1
xpos -295
ypos 1915
}
push $N700d45e0
push $N8448d7b0
push $N16892a20
Expression {
expr0 sqrt(r)
expr1 0
expr2 0
name Expression4
label keyColorNorm
xpos 266
ypos 337
}
set N700e3580 [stack 0]
Merge2 {
inputs 2
operation divide
name Merge7
label "scalarProd / keyColorNorm"
xpos 228
ypos 456
}
set N700eedc0 [stack 0]
push $N844e6880
Constant {
inputs 0
channels rgb
color 55
name Constant3
label "despill_angle\t"
selected true
xpos 145
ypos 502
}
Expression {
expr0 tan((90-0.5*r)*(3.1415/180.))
name Expression6
label despillClosing
xpos 198
ypos 604
}
Merge2 {
inputs 2
operation multiply
name Merge8
label "d * _despillClosing"
xpos 255
ypos 703
}
set N701157f0 [stack 0]
MergeExpression {
inputs 2
expr0 Ar>Br?1:0
name MergeExpression2
xpos 571
ypos 714
}
push $N844884b0
Dot {
name Dot2
xpos 817
ypos 1843
}
set N58785040 [stack 0]
push $N58785040
push $Ncf644d0
push $N700b5950
push $N700c2040
push $N14c6ab20
Constant {
inputs 0
channels rgb
color 0.6
name Constant2
label despill
xpos -9
ypos 527
}
set N5878ab30 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge14
xpos 187
ypos 818
}
Constant {
inputs 0
channels rgb
name Constant_int_0
xpos 443
ypos 393
}
Merge2 {
inputs 2
operation max
name Merge15
xpos 242
ypos 878
}
Merge2 {
inputs 2
operation multiply
name Merge12
xpos 164
ypos 1459
}
push $N5878ab30
push $N14c6ab20
Merge2 {
inputs 2
operation min
name Merge16
xpos 315
ypos 1038
}
Merge2 {
inputs 2
operation plus
name Merge17
xpos 362
ypos 1337
}
Merge2 {
inputs 2
operation multiply
name Merge18
label maxdespill
xpos 408
ypos 1475
}
push $N700e3580
push $N700eedc0
push $N701157f0
Merge2 {
inputs 2
operation minus
name Merge9
xpos 449
ypos 838
}
set N5867af70 [stack 0]
Merge2 {
inputs 2
operation max
name Merge11
xpos 340
ypos 904
}
Merge2 {
inputs 2
operation multiply
name Merge19
label colorshift
xpos 592
ypos 1524
}
push $N5867af70
Merge2 {
inputs 2
operation min
name Merge20
label "colorshift final\n"
xpos 685
ypos 1599
}
Shuffle {
green red
blue red
alpha red
name Shuffle2
xpos 685
ypos 1663
}
Merge2 {
inputs 2
operation multiply
name Merge21
xpos 814
ypos 1720
}
push $N700e3580
Shuffle {
green red
blue red
alpha red
name Shuffle3
xpos 914
ypos 1544
}
Merge2 {
inputs 2
operation divide
name Merge22
xpos 924
ypos 1771
}
Merge2 {
inputs 2
operation minus
name Merge23
xpos 930
ypos 1918
}
Keymix {
inputs 3
maskChannel rgba.red
invertMask true
name Keymix1
xpos 402
ypos 1906
}
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
name Copy8
xpos 123
ypos 1990
}
Premult {
name Premult2
xpos 99
ypos 2090
}
Output {
name Output1
xpos 76
ypos 2276
}
end_group
Read {
inputs 0
file /home/shared/unblending/examples_raf/vfx/atm103_019_010/plates/plate/atm103_019_010_bg_plt_v002/CompressedEXR/atm103_019_010_bg_plt_v002.####.exr
format "1920 1080 0 0 1920 1080 1 HD_1080"
origset true
name Read1
xpos 24
ypos -113
}
push $N7bfda850
push $N4169ebe0
Group {
inputs 2
name sk4
xpos 470
ypos 68
addUserKnob {20 User}
addUserKnob {7 lowersoftness l "Lower softness" R -1 0}
lowersoftness -0.6
addUserKnob {7 lowertolerance l "Lower tolerance" R -1 0}
addUserKnob {7 center l Center}
center 0.6
addUserKnob {7 uppertolerance l "Upper tolerance"}
uppertolerance 1
addUserKnob {7 uppersoftness l "Upper softness"}
uppersoftness 1
addUserKnob {26 ""}
addUserKnob {7 despill l Despill R 0 2}
despill 1
addUserKnob {7 despillangle l "Despill angle" R 0 180}
despillangle 60
}
Constant {
inputs 0
channels rgb
color 1
name Constant_int_1
xpos -10
ypos 424
}
set N23bb6d30 [stack 0]
Input {
inputs 0
name c
xpos -158
ypos 4
number 1
}
Dot {
name Dot4
xpos -121
ypos 113
}
set N23bbefe0 [stack 0]
Expression {
expr0 (r*r)+(g*g)+(b*b)
expr1 0
expr2 0
name Expression3
label keyColorNorm2
xpos 112
ypos 239
}
set N59b44110 [stack 0]
push $N23bbefe0
Expression {
expr0 r+g+b
expr1 0
expr2 0
name Expression2
label keyColor111
xpos -2
ypos 236
}
set Naae8c430 [stack 0]
Merge2 {
inputs 2
operation divide
name Merge1
xpos 116
ypos 360
}
Merge2 {
inputs 2
operation minus
name Merge10
xpos 178
ypos 405
}
push $N23bb6d30
NoOp {
name NoOp1
label 1
xpos -174
ypos 1475
hide_input true
}
Input {
inputs 0
name img
xpos -452
ypos 49
}
Dot {
name Dot3
xpos -414
ypos 200
}
set N59b3f910 [stack 0]
push $N23bbefe0
MergeExpression {
inputs 2
expr0 (Ar*Br)+(Ag*Bg)+(Ab*Bb)
expr1 0
expr2 0
name MergeExpression1
label scalarProd
xpos -208
ypos 263
}
set Nab3d2cd0 [stack 0]
push $Naae8c430
Merge2 {
inputs 2
operation divide
name Merge5
label "Kgf intermediate"
xpos -342
ypos 504
}
push $N59b3f910
Expression {
expr0 (r*r)+(g*g)+(b*b)
expr1 0
expr2 0
name Expression1
label norm2
xpos -324
ypos 259
}
push $Nab3d2cd0
push $Nab3d2cd0
Merge2 {
inputs 2
operation multiply
name Merge2
xpos -192
ypos 354
}
push $N59b44110
Merge2 {
inputs 2
operation divide
name Merge3
xpos -119
ypos 449
}
Merge2 {
inputs 2
operation minus
name Merge4
xpos -229
ypos 487
}
Expression {
expr0 sqrt(max(0,r))
name Expression5
label d
xpos -200
ypos 556
}
set N168700c0 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge6
label "Kfg\n"
xpos -385
ypos 702
}
Dot {
name Dot1
xpos -323
ypos 1316
}
Constant {
inputs 0
channels rgb
color {{uppersoftness}}
name Constant8
label "softnessUpper\n"
xpos -174
ypos 1215
}
Constant {
inputs 0
channels rgb
color {{uppertolerance}}
name Constant7
label "toleranceUpper\n\n"
xpos -170
ypos 1099
}
Roto {
inputs 0
output alpha
curves {{{v x3f99999a}
{f 0}
{n
{layer Root
{f 2097664}
{t x44700000 x44070000}
{a pt1x 0 pt1y 0 pt2x 0 pt2y 0 pt3x 0 pt3y 0 pt4x 0 pt4y 0 ptex00 0 ptex01 0 ptex02 0 ptex03 0 ptex10 0 ptex11 0 ptex12 0 ptex13 0 ptex20 0 ptex21 0 ptex22 0 ptex23 0 ptex30 0 ptex31 0 ptex32 0 ptex33 0 ptof1x 0 ptof1y 0 ptof2x 0 ptof2y 0 ptof3x 0 ptof3y 0 ptof4x 0 ptof4y 0 pterr 0 ptrefset 0 ptmot x40800000 ptref 0}
{curvegroup Bezier1 512 bezier
{{cc
{f 8192}
{p
{xc3320001 x40400000}
{xc340fffc xc32a0000}
{x42aae148 xbfb85300}
{xc308c7f7 xc17a426c}
{x44f73fff xc287fff8}
{x4308c7f7 x417a4284}
{xc249c2a0 xc195c2a0}
{x45001000 x442e7ffd}
{x429370a0 x41dae140}
{x4409315a x418c6ee0}
{x44096000 x442de000}
{xc32d4bcc xc0b16380}
{x4201999c x3ef5c800}
{x43565e79 x44276f3a}
{xc3070002 xc0000000}}}
{cc
{f 8192}
{p
{xc3320001 x40400000}
{}
{x42aae148 xbfb85300}
{xc308c7f7 xc17a426c}
{}
{x4308c7f7 x417a4284}
{xc249c2a0 xc195c2a0}
{}
{x429370a0 x41dae140}
{x440981fe x416653c0}
{xc07c8400 x4068af00}
{xc32db1aa xc0917880}
{x42018954 xbf8f9800}
{xc092aa80 x40efff80}
{xc3d9d556 x4171dec0}}}}
{t x436eaaab x44826aab}
{a fx x41200000 fy x41200000 osw x41200000 osf 0 str 1 spx x44700000 spy x44070000 sb 1 tt x40800000 ft 1}}}}}}
toolbox {selectAll {
{ selectAll str 1 ssx 1 ssy 1 sf 1 }
{ createBezier str 1 ssx 1 ssy 1 sf 1 sb 1 tt 4 }
{ createBezierCusped str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ createBSpline str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ createEllipse str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ createRectangle str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ createRectangleCusped str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ brush str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ eraser src 2 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ clone src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ reveal src 3 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ dodge src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ burn src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ blur src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ sharpen src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ smear src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
} }
toolbar_brush_hardness 0.200000003
toolbar_source_transform_scale {1 1}
toolbar_source_transform_center {960 540}
colorOverlay {0 0 0 0}
lifetime_type "all frames"
motionblur_shutter_offset_type centred
feather 10
feather_type smooth0
source_black_outside true
name Roto2
xpos -215
ypos 687
}
set N5e486fb0 [stack 0]
Roto {
inputs 0
output alpha
curves {{{v x3f99999a}
{f 0}
{n
{layer Root
{f 2097152}
{t x44700000 x44070000}
{a pt1x 0 pt1y 0 pt2x 0 pt2y 0 pt3x 0 pt3y 0 pt4x 0 pt4y 0 ptex00 0 ptex01 0 ptex02 0 ptex03 0 ptex10 0 ptex11 0 ptex12 0 ptex13 0 ptex20 0 ptex21 0 ptex22 0 ptex23 0 ptex30 0 ptex31 0 ptex32 0 ptex33 0 ptof1x 0 ptof1y 0 ptof2x 0 ptof2y 0 ptof3x 0 ptof3y 0 ptof4x 0 ptof4y 0 pterr 0 ptrefset 0 ptmot x40800000 ptref 0}
{curvegroup Bezier1 512 bezier
{{cc
{f 8192}
{p
{xc3320000 x40400000}
{x42920000 x44728001}
{x43320000 xc0400000}
{xc2c20000 xc2100000}
{x4412c000 x448b4000}
{x42c20000 x42100000}
{x43070000 x40000000}
{xbf800000 x4490a000}
{xc3070000 xc0000000}}}
{cc
{f 8192}
{p
{xc3320000 x40400000}
{}
{x43320000 xc0400000}
{xc2c20000 xc2100000}
{}
{x42c20000 x42100000}
{x43070000 x40000000}
{}
{xc3070000 xc0000000}}}}
{t x436eaaab x44826aab}
{a fx x42c80000 fy x42c80000 osw x41200000 osf 0 str 1 spx x44700000 spy x44070000 sb 1 tt x40800000}}}}}}
toolbox {selectAll {
{ selectAll str 1 ssx 1 ssy 1 sf 1 }
{ createBezier str 1 ssx 1 ssy 1 sf 1 sb 1 tt 4 }
{ createBezierCusped str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ createBSpline str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ createEllipse str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ createRectangle str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ createRectangleCusped str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ brush str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ eraser src 2 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ clone src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ reveal src 3 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ dodge src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ burn src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ blur src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ sharpen src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
{ smear src 1 str 1 ssx 1 ssy 1 sf 1 sb 1 }
} }
toolbar_brush_hardness 0.200000003
toolbar_source_transform_scale {1 1}
toolbar_source_transform_center {960 540}
colorOverlay {0 0 0 0}
lifetime_type "all frames"
motionblur_shutter_offset_type centred
feather 100
source_black_outside true
name Roto1
xpos -297
ypos 820
}
Constant {
inputs 0
channels rgb
color {{center}}
name Constant6
label "center\n"
xpos -311
ypos 947
}
Grade {
inputs 1+1
white 0.79
black_clamp false
name Grade1
xpos -196
ypos 1003
disable true
}
Grade {
inputs 1+1
black 0.26
name Grade3
selected true
xpos -141
ypos 1003
}
Constant {
inputs 0
channels rgb
color {{lowertolerance}}
name Constant5
label toleranceLower
xpos -192
ypos 858
}
push $N5e486fb0
Constant {
inputs 0
channels rgb
color {{lowersoftness}}
name Constant4
label softnessLower
xpos -238
ypos 743
}
Grade {
inputs 1+1
black 0.27
black_clamp false
name Grade2
xpos -148
ypos 787
}
Constant {
inputs 0
channels rgb
name Constant9
xpos -61
ypos 655
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.red
name Copy1
xpos -52
ypos 817
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.green
name Copy2
xpos -44
ypos 931
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.blue
name Copy3
xpos -35
ypos 1029
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.alpha
name Copy4
xpos -35
ypos 1159
}
Copy {
inputs 2
from0 rgba.red
to0 depth.Z
name Copy5
xpos -18
ypos 1283
}
Copy {
inputs 2
from0 rgba.red
to0 forward.u
name Copy6
xpos -18
ypos 1389
}
Expression {
expr0 "(((b+g)<=0.)&&(forward.u<=0.))?1.:(forward.u<(b+g+r))?0.:((forward.u<(b+g))&&(r<0.))?(forward.u-(b+g+r))/-r:(forward.u<=b+a)?1.:((1.<=(b+a))&&(1.<=forward.u))?1.:((forward.u<(b+a+depth.Z))&&(depth.Z>0.))?((b+a+depth.Z)-forward.u)/depth.Z:0.\n"
expr1 0
expr2 0
name Expression7
label "Kbg\n"
xpos -30
ypos 1503
}
set N23ba4840 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge13
label 1-Kfg
xpos -115
ypos 1595
}
set N6016e940 [stack 0]
Shuffle {
green red
blue red
alpha red
name Shuffle1
xpos -128
ypos 1680
}
set N6145f510 [stack 0]
push $N59b3f910
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
name Copy7
xpos -299
ypos 1787
}
Premult {
name Premult1
xpos -295
ypos 1915
}
push $N6145f510
push $Nab3d2cd0
push $N59b44110
Expression {
expr0 sqrt(r)
expr1 0
expr2 0
name Expression4
label keyColorNorm
xpos 266
ypos 337
}
set N6029a6d0 [stack 0]
Merge2 {
inputs 2
operation divide
name Merge7
label "scalarProd / keyColorNorm"
xpos 228
ypos 456
}
set N60183340 [stack 0]
push $N168700c0
push $N5e486fb0
Constant {
inputs 0
channels rgb
color {{despillangle}}
name Constant3
label "despill_angle\t"
xpos 123
ypos 471
}
Grade {
inputs 1+1
black 30
name Grade4
xpos 189
ypos 564
}
Expression {
expr0 tan((90-0.5*r)*(3.1415/180.))
name Expression6
label despillClosing
xpos 198
ypos 604
}
Merge2 {
inputs 2
operation multiply
name Merge8
label "d * _despillClosing"
xpos 255
ypos 703
}
set N6205a160 [stack 0]
MergeExpression {
inputs 2
expr0 Ar>Br?1:0
name MergeExpression2
xpos 571
ypos 714
}
push $N59b3f910
Dot {
name Dot2
xpos 817
ypos 1843
}
set N60281de0 [stack 0]
push $N60281de0
push $N23bbefe0
push $N23ba4840
push $N6016e940
push $N23bb6d30
Constant {
inputs 0
channels rgb
color {{despill}}
name Constant2
label despill
xpos -73
ypos 476
}
Dot {
name Dot5
xpos -4
ypos 597
}
set N5f26eab0 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge14
xpos 187
ypos 818
}
Constant {
inputs 0
channels rgb
name Constant_int_0
xpos 443
ypos 393
}
Merge2 {
inputs 2
operation max
name Merge15
xpos 242
ypos 878
}
Merge2 {
inputs 2
operation multiply
name Merge12
xpos 164
ypos 1459
}
push $N5f26eab0
push $N23bb6d30
Merge2 {
inputs 2
operation min
name Merge16
xpos 315
ypos 1038
}
Merge2 {
inputs 2
operation plus
name Merge17
xpos 362
ypos 1337
}
Merge2 {
inputs 2
operation multiply
name Merge18
label maxdespill
xpos 408
ypos 1475
}
push $N6029a6d0
push $N60183340
push $N6205a160
Merge2 {
inputs 2
operation minus
name Merge9
xpos 449
ypos 838
}
set N601a6a60 [stack 0]
Merge2 {
inputs 2
operation max
name Merge11
xpos 340
ypos 904
}
Merge2 {
inputs 2
operation multiply
name Merge19
label colorshift
xpos 592
ypos 1524
}
push $N601a6a60
Merge2 {
inputs 2
operation min
name Merge20
label "colorshift final\n"
xpos 685
ypos 1599
}
Shuffle {
green red
blue red
alpha red
name Shuffle2
xpos 685
ypos 1663
}
Merge2 {
inputs 2
operation multiply
name Merge21
xpos 814
ypos 1720
}
push $N6029a6d0
Shuffle {
green red
blue red
alpha red
name Shuffle3
xpos 914
ypos 1544
}
Merge2 {
inputs 2
operation divide
name Merge22
xpos 924
ypos 1771
}
Merge2 {
inputs 2
operation minus
name Merge23
xpos 930
ypos 1918
}
Keymix {
inputs 3
maskChannel rgba.red
invertMask true
name Keymix1
xpos 402
ypos 1906
}
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
name Copy8
xpos 123
ypos 1990
}
Premult {
name Premult2
xpos 99
ypos 2090
}
Output {
name Output1
xpos 76
ypos 2276
}
Viewer {
frame_range 1-100
colour_sample_bbox {-0.004166666884 0.3833333254 -0.003125000047 0.384375006}
name Viewer1
xpos 759
ypos 899
}
end_group
Constant {
inputs 0
channels rgb
color {0.3828355372 1.000530005 0 1}
name Constant2
xpos 585
ypos 28
}
Merge2 {
inputs 2
name Merge1
xpos 558
ypos 173
}
Viewer {
frame 22
frame_range 1-32
frame_range_lock true
colour_sample_bbox {-0.9333333373 0.1770833284 -0.9322916865 0.178124994}
name m
xpos 64
ypos 316
}
Group {
inputs 0
name sk1
tile_color 0x1f00ffff
selected true
xpos 378
ypos 361
addUserKnob {20 User}
addUserKnob {7 lowersoftness l "Lower softness" R -1 0}
lowersoftness -0.5
addUserKnob {7 lowertolerance l "Lower tolerance" R -1 0}
addUserKnob {7 center l Center}
center 0.5
addUserKnob {7 uppertolerance l "Upper tolerance"}
uppertolerance 1
addUserKnob {7 uppersoftness l "Upper softness"}
uppersoftness 1
addUserKnob {26 ""}
addUserKnob {7 despill l Despill R 0 2}
despill 1
addUserKnob {7 despillangle l "Despill angle" R 0 180}
despillangle 60
}
Constant {
inputs 0
channels rgb
color 1
name Constant_int_1
xpos -10
ypos 424
}
set Nab2ddf70 [stack 0]
Input {
inputs 0
name c
xpos -158
ypos 4
number 1
}
Dot {
name Dot4
xpos -121
ypos 113
}
set N62088710 [stack 0]
Expression {
expr0 (r*r)+(g*g)+(b*b)
expr1 0
expr2 0
name Expression3
label keyColorNorm2
xpos 112
ypos 239
}
set N6208c9a0 [stack 0]
push $N62088710
Expression {
expr0 r+g+b
expr1 0
expr2 0
name Expression2
label keyColor111
xpos -2
ypos 236
}
set N62097790 [stack 0]
Merge2 {
inputs 2
operation divide
name Merge1
xpos 116
ypos 360
}
Merge2 {
inputs 2
operation minus
name Merge10
xpos 178
ypos 405
}
push $Nab2ddf70
NoOp {
name NoOp1
label 1
xpos -174
ypos 1475
hide_input true
}
Input {
inputs 0
name img
xpos -452
ypos 49
}
Dot {
name Dot3
xpos -414
ypos 200
}
set N620ce980 [stack 0]
push $N62088710
MergeExpression {
inputs 2
expr0 (Ar*Br)+(Ag*Bg)+(Ab*Bb)
expr1 0
expr2 0
name MergeExpression1
label scalarProd
xpos -208
ypos 263
}
set Naef62440 [stack 0]
push $N62097790
Merge2 {
inputs 2
operation divide
name Merge5
label "Kgf intermediate"
xpos -342
ypos 504
}
push $N620ce980
Expression {
expr0 (r*r)+(g*g)+(b*b)
expr1 0
expr2 0
name Expression1
label norm2
xpos -324
ypos 259
}
push $Naef62440
push $Naef62440
Merge2 {
inputs 2
operation multiply
name Merge2
xpos -192
ypos 354
}
push $N6208c9a0
Merge2 {
inputs 2
operation divide
name Merge3
xpos -119
ypos 449
}
Merge2 {
inputs 2
operation minus
name Merge4
xpos -229
ypos 487
}
Expression {
expr0 sqrt(max(0,r))
name Expression5
label d
xpos -200
ypos 556
}
set Naefbbc90 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge6
label "Kfg\n"
xpos -385
ypos 702
}
Dot {
name Dot1
xpos -323
ypos 1316
}
Constant {
inputs 0
channels rgb
color {{uppersoftness}}
name Constant8
label "softnessUpper\n"
xpos -174
ypos 1215
}
Constant {
inputs 0
channels rgb
color {{uppertolerance}}
name Constant7
label "toleranceUpper\n\n"
xpos -170
ypos 1099
}
Constant {
inputs 0
channels rgb
color {{center}}
name Constant6
label "center\n"
xpos -195
ypos 982
}
Constant {
inputs 0
channels rgb
color {{lowertolerance}}
name Constant5
label toleranceLower
xpos -192
ypos 858
}
Constant {
inputs 0
channels rgb
color {{lowersoftness}}
name Constant4
label softnessLower
xpos -196
ypos 757
}
Constant {
inputs 0
channels rgb
name Constant9
xpos -61
ypos 655
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.red
name Copy1
xpos -52
ypos 817
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.green
name Copy2
xpos -44
ypos 931
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.blue
name Copy3
xpos -35
ypos 1029
}
Copy {
inputs 2
from0 rgba.red
to0 rgba.alpha
name Copy4
xpos -35
ypos 1159
}
Copy {
inputs 2
from0 rgba.red
to0 depth.Z
name Copy5
xpos -18
ypos 1283
}
Copy {
inputs 2
from0 rgba.red
to0 forward.u
name Copy6
xpos -18
ypos 1389
}
Expression {
expr0 "(((b+g)<=0.)&&(forward.u<=0.))?1.:(forward.u<(b+g+r))?0.:((forward.u<(b+g))&&(r<0.))?(forward.u-(b+g+r))/-r:(forward.u<=b+a)?1.:((1.<=(b+a))&&(1.<=forward.u))?1.:((forward.u<(b+a+depth.Z))&&(depth.Z>0.))?((b+a+depth.Z)-forward.u)/depth.Z:0.\n"
expr1 0
expr2 0
name Expression7
label "Kbg\n"
xpos -30
ypos 1503
}
set N338fec00 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge13
label 1-Kfg
xpos -115
ypos 1595
}
set N3390b420 [stack 0]
Shuffle {
green red
blue red
alpha red
name Shuffle1
xpos -128
ypos 1680
}
set N3391d1b0 [stack 0]
push $N620ce980
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
name Copy7
xpos -299
ypos 1787
}
Premult {
name Premult1
xpos -295
ypos 1915
}
push $N3391d1b0
push $Naef62440
push $N6208c9a0
Expression {
expr0 sqrt(r)
expr1 0
expr2 0
name Expression4
label keyColorNorm
xpos 266
ypos 337
}
set N339428a0 [stack 0]
Merge2 {
inputs 2
operation divide
name Merge7
label "scalarProd / keyColorNorm"
xpos 228
ypos 456
}
set N3394e180 [stack 0]
push $Naefbbc90
Constant {
inputs 0
channels rgb
color {{despillangle}}
name Constant3
label "despill_angle\t"
xpos 145
ypos 502
}
Expression {
expr0 tan((90-0.5*r)*(3.1415/180.))
name Expression6
label despillClosing
xpos 198
ypos 604
}
Merge2 {
inputs 2
operation multiply
name Merge8
label "d * _despillClosing"
xpos 255
ypos 703
}
set N60079720 [stack 0]
MergeExpression {
inputs 2
expr0 Ar>Br?1:0
name MergeExpression2
xpos 571
ypos 714
}
push $N620ce980
Dot {
name Dot2
xpos 817
ypos 1843
}
set N60097fa0 [stack 0]
push $N60097fa0
push $N62088710
push $N338fec00
push $N3390b420
push $Nab2ddf70
Constant {
inputs 0
channels rgb
color {{despill}}
name Constant2
label despill
xpos -9
ypos 527
}
set N6009de00 [stack 0]
Merge2 {
inputs 2
operation minus
name Merge14
xpos 187
ypos 818
}
Constant {
inputs 0
channels rgb
name Constant_int_0
xpos 443
ypos 393
}
Merge2 {
inputs 2
operation max
name Merge15
xpos 242
ypos 878
}
Merge2 {
inputs 2
operation multiply
name Merge12
xpos 164
ypos 1459
}
push $N6009de00
push $Nab2ddf70
Merge2 {
inputs 2
operation min
name Merge16
xpos 315
ypos 1038
}
Merge2 {
inputs 2
operation plus
name Merge17
xpos 362
ypos 1337
}
Merge2 {
inputs 2
operation multiply
name Merge18
label maxdespill
xpos 408
ypos 1475
}
push $N339428a0
push $N3394e180
push $N60079720
Merge2 {
inputs 2
operation minus
name Merge9
xpos 449
ypos 838
}
set N5ff8deb0 [stack 0]
Merge2 {
inputs 2
operation max
name Merge11
xpos 340
ypos 904
}
Merge2 {
inputs 2
operation multiply
name Merge19
label colorshift
xpos 592
ypos 1524
}
push $N5ff8deb0
Merge2 {
inputs 2
operation min
name Merge20
label "colorshift final\n"
xpos 685
ypos 1599
}
Shuffle {
green red
blue red
alpha red
name Shuffle2
xpos 685
ypos 1663
}
Merge2 {
inputs 2
operation multiply
name Merge21
xpos 814
ypos 1720
}
push $N339428a0
Shuffle {
green red
blue red
alpha red
name Shuffle3
xpos 914
ypos 1544
}
Merge2 {
inputs 2
operation divide
name Merge22
xpos 924
ypos 1771
}
Merge2 {
inputs 2
operation minus
name Merge23
xpos 930
ypos 1918
}
Keymix {
inputs 3
maskChannel rgba.red
invertMask true
name Keymix1
xpos 402
ypos 1906
}
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
name Copy8
xpos 123
ypos 1990
}
Premult {
name Premult2
xpos 99
ypos 2090
}
Output {
name Output1
xpos 76
ypos 2276
}
Viewer {
frame_range 1-100
colour_sample_bbox {-0.004166666884 0.3833333254 -0.003125000047 0.384375006}
name Viewer1
xpos 759
ypos 899
}
end_group
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment