#! C:/Program Files/Nuke12.2v4/nuke-12.2.4.dll -nx
version 12.2 v4
define_window_layout_xml {
}
Root {
inputs 0
name "D:/OneDrive - Academy of Art University/D/Z/UNIVERSAL/aces_1.1_ocio2.0/refimages/Kelvin/Kelvin_fire.nk"
format "2048 1556 0 0 2048 1556 1 2K_Super_35(full-ap)"
proxy_type scale
proxy_format "1024 778 0 0 1024 778 1 1K_Super_35(full-ap)"
colorManagement OCIO
OCIO_config custom
customOCIOConfigPath "D:/OneDrive - Academy of Art University/D/Z/UNIVERSAL/aces_1.2/config - Copy.ocio"
defaultViewerLUT "OCIO LUTs"
workingSpaceLUT scene_linear
monitorLut "ACES VWG GM/ACES (Rec.709)"
int8Lut matte_paint
int16Lut texture_paint
logLut compositing_log
floatLut scene_linear
}
Read {
inputs 0
file_type exr
file "D:/OneDrive - Academy of Art University/D/Z/UNIVERSAL/aces_1.1_ocio2.0/refimages/Kelvin/Thomas Mansencal - Fireplace_ACES2065-1.exr"
format "5634 3753 0 0 5634 3753 1 "
origset true
colorspace "ACES - ACES2065-1"
name Read1
xpos 104
ypos -831
}
Reformat {
type scale
scale 0.25
name Reformat1
xpos 104
ypos -721
}
Crop {
box {324 134 843 758}
reformat true
crop false
name Crop1
xpos 104
ypos -690
}
ColorCorrect {
gamma 1.5
gain 1.25
name ColorCorrect1
label "gamma \[value gamma]\ngain \[value gain]"
xpos 104
ypos -641
}
Dot {
name Dot1
xpos 138
ypos -573
}
set Nfb69f000 [stack 0]
ColorCorrect {
saturation 1.1
name ColorCorrect6
label "saturation \[value saturation]\n"
xpos -23
ypos -582
}
set N3e195c00 [stack 0]
ColorCorrect {
gain 0.65
name ColorCorrect3
label "gain \[value gain]"
xpos 40
ypos -509
}
OCIODisplay {
colorspace scene_linear
display "ACES VWG GM"
view "RED IPP2 (Rec.709)"
name OCIODisplay4
label "\[value view]"
xpos 40
ypos -439
}
Text2 {
font_size_toolbar 100
font_width_toolbar 100
font_height_toolbar 100
message "RED IPP2"
old_message {{82 69 68 32 73 80 80 50}
}
box {29 16.5 195 55.5}
transforms {{0 2}
}
global_font_scale 0.38
center {1024 778}
cursor_initialised true
initial_cursor_position {{29 55.5}
}
group_animations {{0} imported: 0 selected: items: "root transform/"}
animation_layers {{1 11 1024 778 0 0 1 1 0 0 0 0}
}
name Text5
xpos 40
ypos -379
}
push $N3e195c00
Group {
name OpenDRT_81b3
xpos -72
ypos -482
addUserKnob {20 OpenDRT}
addUserKnob {26 about_label l " " T "\n\nOpenDRT created by Jed Smith\n
v0.0.81b3 | documentation
"}
addUserKnob {41 gamut l "input gamut" T InGamut_to_XYZ.gamut}
addUserKnob {26 spacer l " " T ""}
addUserKnob {35 presets l " " M {"presets/Rec.1886: 2.4 Power EOTF | Rec.709" "knobs this \{Lw 100 c 1.4 surround 1 wp 3 eotf 2 display_gamut 2\}" "presets/sRGB Display: 2.2 Power EOTF | Rec.709" "knobs this \{Lw 100 c 1.4 surround 0 wp 3 eotf 1 display_gamut 2\}" "presets/Apple Display P3: 2.2 Power EOTF | P3D65" "knobs this \{Lw 100 c 1.4 surround 0 wp 3 eotf 1 display_gamut 1\}" "presets/Rec.2100: ST-2084 PQ EOTF | Rec.2020 | 600 nit" "knobs this \{Lw 600 c 1.2 surround 2 wp 3 eotf 4 display_gamut 0\}" "presets/Rec.2100: ST-2084 PQ EOTF | Rec.2020 | 1000 nit" "knobs this \{Lw 1000 c 1.2 surround 2 wp 3 eotf 4 display_gamut 0\}" "presets/Rec.2100: HF | Rec.2020 | 1000 nit" "knobs this \{Lw 1000 c 1.2 surround 2 wp 3 eotf 5 display_gamut 0\}" "presets/Rec.2100: ST-2084 PQ EOTF | Rec.2020 | 2000 nit" "knobs this \{Lw 2000 c 1.2 surround 2 wp 3 eotf 4 display_gamut 0\}" "presets/Rec.2100: ST-2084 PQ EOTF | Rec.2020 | 4000 nit" "knobs this \{Lw 4000 c 1.2 surround 2 wp 3 eotf 4 display_gamut 0\}"}}
addUserKnob {26 ""}
addUserKnob {26 luminance_label l " " T luminance}
addUserKnob {7 Lw t "Normalized white luminance in nits" R 100 4000}
Lw 100
addUserKnob {7 c l contrast R 0.8 2}
c 1.4
addUserKnob {4 surround M {average dim dark ""}}
surround dim
addUserKnob {20 calc_grp l "" +STARTLINE n 1}
calc_grp 0
addUserKnob {7 Lp t "Peak luminance in nits" R 48 10000}
Lp {{eotf==4?10000:eotf==5?1000:Lw}}
addUserKnob {7 Lg t "Grey luminance in nits." R 4 20}
Lg {{14.4+1.436*log(Lw/1000)}}
addUserKnob {7 t0 l toe R 0 0.01}
t0 {{1/Lw}}
addUserKnob {7 ps t "surround compensation: unconstrained power function" R 0.9 1}
ps {{0.9+0.05*surround}}
addUserKnob {7 p t "power (combination of grey-constrained contrast and unconstrained surround compensation)" R 0.5 4}
p {{c*ps}}
addUserKnob {78 g l grey t "input -> output grey" n 2}
g {0.18 {Lg/Lp}}
addUserKnob {7 h R 1 2}
h {{0.048*Lw/1000+1.037}}
addUserKnob {78 s l scale n 2}
s {{-pow(g.1/s.1,1/c)/(g.0*(pow(g.1/s.1,1/c)-1))} {Lw/Lp*h/w_n}}
addUserKnob {20 endGroup n -1}
addUserKnob {26 ""}
addUserKnob {26 chroma_label l " " T chroma}
addUserKnob {7 hldc l "hl dechroma" t "amount to compress chrominance as luminance approaches display maximum"}
hldc 0.5
addUserKnob {6 pdch l "perceptual dechroma" +STARTLINE}
pdch true
addUserKnob {7 saturation R 0.5 1.5}
saturation 1.2
addUserKnob {41 wp l whitepoint T TruelightLMS_to_XYZ.wp}
addUserKnob {20 chroma_grp l " " t "preset chroma params - adjust if you wish" n 1}
chroma_grp 0
addUserKnob {7 w_n l "wp norm" R 0 2}
w_n {{this.TruelightLMS_to_XYZ.w_n}}
addUserKnob {7 wr l "weight r" t "red weight for norm" R 0 0.3}
wr 0.25
addUserKnob {7 wg l "weight g" t "green weight for norm" R 0 0.3}
wg 0.1
addUserKnob {7 wb l "weight b" t "blue weight for norm\n" R 0 0.3}
wb 0.09
addUserKnob {20 endGroup_chroma l endGroup n -1}
addUserKnob {26 ""}
addUserKnob {26 display_encoding_label l " " T "display encoding"}
addUserKnob {41 eotf T InverseEOTF.eotf}
addUserKnob {41 display_gamut l gamut -STARTLINE T XYZ_to_DisplayGamut.gamut}
addUserKnob {6 clamp t "clamp output to a 0-1 range" -STARTLINE}
clamp true
addUserKnob {26 ""}
addUserKnob {4 direction M {forward inverse}}
}
Input {
inputs 0
name Input
xpos 180
ypos -1000
}
Dot {
name Dot7
xpos 214
ypos -876
}
set Nfa9ab800 [stack 0]
Group {
name EOTF
xpos 950
ypos -880
addUserKnob {20 EOTF_tab l EOTF}
addUserKnob {4 eotf l EOTF t "Choose the inverse EOTF to apply for the target display device." M {None "sRGB Display" BT.1886 "Gamma 2.6" PQ HLG ""}}
eotf {{parent.InverseEOTF.eotf}}
}
Input {
inputs 0
name Input
xpos 400
ypos -160
}
Dot {
name Dot3
xpos 434
ypos -96
}
set Nfa9ab000 [stack 0]
Dot {
name Dot8
xpos 544
ypos -96
}
set Nfa9aac00 [stack 0]
Dot {
name Dot1
xpos 654
ypos -96
}
Expression {
expr0 r<=0.5?r*r/3:(exp((r-_c)/_a)+_b)/12
expr1 g<=0.5?g*g/3:(exp((g-_c)/_a)+_b)/12
expr2 b<=0.5?b*b/3:(exp((b-_c)/_a)+_b)/12
name HLG_InverseOETF
xpos 620
ypos -70
addUserKnob {20 CONSTANTS_tab l CONSTANTS}
addUserKnob {7 _a t alpha}
_a 0.17883277
addUserKnob {7 _b t beta}
_b {{1-4*_a}}
addUserKnob {7 _c}
_c {{0.5-_a*log(4*_a)}}
}
Expression {
temp_name0 Ys
temp_expr0 0.2627*r+0.6780*g+0.0593*b
expr0 pow(Ys,_g-1)*r
expr1 pow(Ys,_g-1)*g
expr2 pow(Ys,_g-1)*b
name HLG_OOTF
xpos 620
ypos -40
addUserKnob {20 CONSTANTS_tab l CONSTANTS}
addUserKnob {7 _g t "Gamma: Extended model for gamma variation according to peak display luminance and surround luminance: BT.2390-8 p32" R 0 2}
_g {{1.2*pow(1.111,log(Lw/1000)/log(2))*pow(0.98,log(max(1e-6,Lamb)/5)/log(2))}}
addUserKnob {7 Lw R 600 4000}
Lw 1000
addUserKnob {7 Lb}
addUserKnob {7 Lamb t "ambient luminance level in nits" R 0 200}
Lamb 5
}
push $Nfa9aac00
Expression {
expr0 pow((pow(r,1/m_2)-c_1)/(c_2-c_3*pow(r,1/m_2)),1/m_1)*10000/Lw
expr1 pow((pow(g,1/m_2)-c_1)/(c_2-c_3*pow(g,1/m_2)),1/m_1)*10000/Lw
expr2 pow((pow(b,1/m_2)-c_1)/(c_2-c_3*pow(b,1/m_2)),1/m_1)*10000/Lw
name ST2084_EOTF
xpos 510
ypos -71
addUserKnob {20 CONSTANTS_tab l CONSTANTS}
addUserKnob {7 m_1}
m_1 {{2610/4096*(1/4)}}
addUserKnob {7 m_2}
m_2 {{2523/4096*128}}
addUserKnob {7 c_1}
c_1 {{107/128}}
addUserKnob {7 c_2}
c_2 {{2413/128}}
addUserKnob {7 c_3}
c_3 {{2392/128}}
addUserKnob {7 Lw t "Display peak luminance in nits" R 600 4000}
Lw 10000
}
push $Nfa9ab000
Expression {
expr0 sign(r)*pow(fabs(r),p)
expr1 sign(g)*pow(fabs(g),p)
expr2 sign(b)*pow(fabs(b),p)
name Power
xpos 400
ypos -70
addUserKnob {20 Params_tab l Params}
addUserKnob {7 p l power R 0.2 2}
p {{eotf?2+eotf*0.2:1}}
}
Switch {
inputs 3
which {{eotf-3}}
name SwitchInverseEOTF
xpos 400
ypos -11
}
Output {
name Output
xpos 400
ypos 80
}
end_group
Expression {
expr0 r/s.1
expr1 g/s.1
expr2 b/s.1
name InvOutputScale
xpos 950
ypos -820
}
ColorMatrix {
matrix {
{{parent.XYZ_to_DisplayGamut.ColorMatrix.matrix} {parent.XYZ_to_DisplayGamut.ColorMatrix.matrix} {parent.XYZ_to_DisplayGamut.ColorMatrix.matrix}}
{{parent.XYZ_to_DisplayGamut.ColorMatrix.matrix} {parent.XYZ_to_DisplayGamut.ColorMatrix.matrix} {parent.XYZ_to_DisplayGamut.ColorMatrix.matrix}}
{{parent.XYZ_to_DisplayGamut.ColorMatrix.matrix} {parent.XYZ_to_DisplayGamut.ColorMatrix.matrix} {parent.XYZ_to_DisplayGamut.ColorMatrix.matrix}}
}
invert true
name Inv_XYZ_to_DisplayGamut
xpos 950
ypos -760
}
ColorMatrix {
matrix {
{{parent.TruelightLMS_to_XYZ.matrix} {parent.TruelightLMS_to_XYZ.matrix} {parent.TruelightLMS_to_XYZ.matrix}}
{{parent.TruelightLMS_to_XYZ.matrix} {parent.TruelightLMS_to_XYZ.matrix} {parent.TruelightLMS_to_XYZ.matrix}}
{{parent.TruelightLMS_to_XYZ.matrix} {parent.TruelightLMS_to_XYZ.matrix} {parent.TruelightLMS_to_XYZ.matrix}}
}
name Inv_TruelightLMS_to_XYZ
xpos 950
ypos -700
}
Dot {
name Dot1
xpos 984
ypos -636
}
set Nfa2a3c00 [stack 0]
Dot {
name Dot12
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xff
xpos 874
ypos -636
}
set Nfa2a3800 [stack 0]
Dot {
name Dot2
xpos 544
ypos -636
}
Expression {
channel0 {rgba.red rgba.green rgba.blue none}
expr0 sqrt(pow(w.0*r,2)+pow(w.1*g,2)+pow(w.2*b,2))/sum
channel1 none
channel2 none
channel3 none
name WeightedVectorLength1
xpos 510
ypos -610
addUserKnob {20 Param}
addUserKnob {78 w n 3}
w {{wr} {wg} {wb}}
addUserKnob {7 sum t "Normalize so achromatic in=out" R 0 2}
sum {{sqrt(w.0*w.0+w.1*w.1+w.2*w.2)}}
}
Expression {
temp_name0 mn
temp_expr0 1e-6
temp_name1 mx
temp_expr1 0.99
expr0 max(mn,min(mx,r))
expr1 max(mn,min(mx,g))
expr2 max(mn,min(mx,b))
name Clamp1
xpos 510
ypos -580
}
Dot {
name Dot3
xpos 544
ypos -546
}
set Nfa2a2800 [stack 0]
Expression {
expr0 (r+sqrt(r*(4*t0+r)))/2
channel1 {-rgba.red rgba.green -rgba.blue none}
expr1 (g+sqrt(g*(4*t0+g)))/2
expr2 (b+sqrt(b*(4*t0+b)))/2
name InvToe
xpos 510
ypos -520
}
Expression {
expr0 pow(r,1/p)
expr1 pow(g,1/p)
expr2 pow(b,1/p)
name InvPower
xpos 510
ypos -490
}
set Nfa2a2000 [stack 0]
Expression {
expr0 r/(1-r)
expr1 g/(1-g)
expr2 b/(1-b)
name InvShoulder
note_font Helvetica
xpos 510
ypos -459
}
set Nfa2a1c00 [stack 0]
Expression {
expr0 r/s.0
expr1 g/s.0
expr2 b/s.0
name InvInputScale
xpos 510
ypos -400
}
Dot {
name Dot4
xpos 544
ypos -216
}
push $Nfa2a3800
Expression {
temp_name0 mx
temp_expr0 max(r,g,b)
temp_name1 mn
temp_expr1 min(r,g,b)
temp_name2 ch
temp_expr2 0.5*mx+0.5*mn
expr0 ch==0?0:(ch-r)/ch
expr1 ch==0?0:(ch-g)/ch
expr2 ch==0?0:(ch-b)/ch
expr3 ch
name HalfChromaRatios3
note_font Helvetica
xpos 840
ypos -579
}
Dot {
name Dot14
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xff
xpos 874
ypos -396
}
set Nfa2a0c00 [stack 0]
Dot {
name Dot19
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xff
xpos 874
ypos -366
}
push $Nfa2a0c00
Expression {
temp_name0 M
temp_expr0 max(r,g,b)
temp_name1 C
temp_expr1 M-min(r,g,b)
temp_name2 H
temp_expr2 ((C==0?0:r==M?((g-b)/C+6)%6:g==M?(b-r)/C+2:b==M?(r-g)/C+4:0)+shift)%6
temp_name3 X
temp_expr3 C*(1-fabs(H%2-1))
expr0 (H<1?C:H<2?X:H<3?0:H<4?0:H<5?X:C)+min(r,g,b)
expr1 (H<1?X:H<2?C:H<3?C:H<4?X:H<5?0:0)+min(r,g,b)
expr2 (H<1?0:H<2?0:H<3?X:H<4?C:H<5?C:X)+min(r,g,b)
expr3 H
name HueRotate_2
note_font Helvetica
xpos 730
ypos -399
addUserKnob {20 HueRotate_tab l HueRotate}
addUserKnob {7 shift R 0 6}
shift 1.5
}
push $Nfa2a2000
push $Nfa2a1c00
MergeExpression {
inputs 2
expr0 Ar==0?0:Ar/Br
expr1 Ag==0?0:Ag/Bg
expr2 Ab==0?0:Ab/Bb
name MergeDivide1
xpos 620
ypos -460
}
MergeExpression {
inputs 2
temp_name0 f1
temp_expr0 ch==0?Ar:ch==1?Ag:ch==2?Ab:1
temp_name1 f
temp_expr1 cl?clamp(f1):f1
expr0 pow(r,p.r)*f+r*(1-f)
expr1 pow(g,p.g)*f+g*(1-f)
expr2 pow(b,p.b)*f+b*(1-f)
name PowerLerp_RED3
note_font Helvetica
xpos 620
ypos -399
disable {{!parent.pdch}}
addUserKnob {20 Param}
addUserKnob {4 ch l channel t "channel of A input to use as lerp factor" M {red green blue}}
ch blue
addUserKnob {6 cl l clamp t "clamp lerp factor channel to 0-1 range" -STARTLINE}
cl true
addUserKnob {18 p l power R 0.2 4}
p {1 1.5 1.1}
addUserKnob {6 p_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
}
MergeExpression {
inputs 2
temp_name0 f1
temp_expr0 ch==0?Ar:ch==1?Ag:ch==2?Ab:1
temp_name1 f
temp_expr1 cl?clamp(f1):f1
expr0 pow(r,p.r)*f+r*(1-f)
expr1 pow(g,p.g)*f+g*(1-f)
expr2 pow(b,p.b)*f+b*(1-f)
name PowerLerp_BLUE3
note_font Helvetica
xpos 620
ypos -369
disable {{!parent.pdch}}
addUserKnob {20 Param}
addUserKnob {4 ch l channel t "channel of A input to use as lerp factor" M {red green blue}}
addUserKnob {6 cl l clamp t "clamp lerp factor channel to 0-1 range" -STARTLINE}
cl true
addUserKnob {18 p l power R 0.2 4}
p {1 1.1 1.5}
addUserKnob {6 p_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
}
Expression {
expr0 pow(r,p)
expr1 pow(g,p)
expr2 pow(b,p)
name Power2
xpos 620
ypos -310
addUserKnob {20 Params_tab l Params}
addUserKnob {7 p l power R 0.01 2}
p {{hldc}}
}
Expression {
expr0 r*s
expr1 g*s
expr2 b*s
name ScaleSaturation1
xpos 620
ypos -280
addUserKnob {20 Params_tab l Params}
addUserKnob {7 s l scale R 0 2}
s {{saturation}}
}
Dot {
name Dot8
xpos 654
ypos -246
}
push $Nfa2a2800
push $Nfa2a3c00
MergeExpression {
inputs 2
expr0 Ar==0?0:Br/Ar
expr1 Ag==0?0:Bg/Ag
expr2 Ab==0?0:Bb/Ab
name MergeDivideReverse3
xpos 950
ypos -550
}
MergeExpression {
inputs 2
expr0 (Br-1)/Ar+1
expr1 (Bg-1)/Ag+1
expr2 (Bb-1)/Ab+1
name InvLerp
xpos 950
ypos -250
}
MergeExpression {
inputs 2
expr0 Ar*Br
expr1 Ar*Bg
expr2 Ar*Bb
name Multiply2
xpos 950
ypos -220
}
ColorMatrix {
matrix {
{{parent.XYZ_to_TruelightLMS.matrix} {parent.XYZ_to_TruelightLMS.matrix} {parent.XYZ_to_TruelightLMS.matrix}}
{{parent.XYZ_to_TruelightLMS.matrix} {parent.XYZ_to_TruelightLMS.matrix} {parent.XYZ_to_TruelightLMS.matrix}}
{{parent.XYZ_to_TruelightLMS.matrix} {parent.XYZ_to_TruelightLMS.matrix} {parent.XYZ_to_TruelightLMS.matrix}}
}
invert true
name Inv_XYZ_to_TruelightLMS
xpos 950
ypos -100
}
ColorMatrix {
matrix {
{{parent.InGamut_to_XYZ.ColorMatrix.matrix} {parent.InGamut_to_XYZ.ColorMatrix.matrix} {parent.InGamut_to_XYZ.ColorMatrix.matrix}}
{{parent.InGamut_to_XYZ.ColorMatrix.matrix} {parent.InGamut_to_XYZ.ColorMatrix.matrix} {parent.InGamut_to_XYZ.ColorMatrix.matrix}}
{{parent.InGamut_to_XYZ.ColorMatrix.matrix} {parent.InGamut_to_XYZ.ColorMatrix.matrix} {parent.InGamut_to_XYZ.ColorMatrix.matrix}}
}
invert true
name Inv_InGamut_to_XYZ
xpos 950
ypos -40
}
Dot {
name Dot9
xpos 984
ypos 204
}
push $Nfa9ab800
Group {
name InGamut_to_XYZ
tile_color 0x429940ff
xpos 180
ypos -820
addUserKnob {20 InputGamut_to_XYZ_tab l InputGamut_to_XYZ}
addUserKnob {4 gamut l "input gamut" M {ACES ACEScg P3D65 Rec.2020 Rec.709 AlexaWideGamut RedWideGamutRGB "Filmlight E-Gamut" "DaVinci Wide Gamut" ""}}
gamut ACEScg
addUserKnob {41 matrix T ColorMatrix.matrix}
addUserKnob {41 invert -STARTLINE T ColorMatrix.invert}
}
Input {
inputs 0
name Input
xpos 290
ypos -610
}
Dot {
name Dot1
xpos 324
ypos -546
}
set Nf99e4800 [stack 0]
ColorMatrix {
matrix {
{{"SwitchGamut.input\[value SwitchGamut.which].matrix"} {"SwitchGamut.input\[value SwitchGamut.which].matrix"} {"SwitchGamut.input\[value SwitchGamut.which].matrix"}}
{{"SwitchGamut.input\[value SwitchGamut.which].matrix"} {"SwitchGamut.input\[value SwitchGamut.which].matrix"} {"SwitchGamut.input\[value SwitchGamut.which].matrix"}}
{{"SwitchGamut.input\[value SwitchGamut.which].matrix"} {"SwitchGamut.input\[value SwitchGamut.which].matrix"} {"SwitchGamut.input\[value SwitchGamut.which].matrix"}}
}
name ColorMatrix
xpos 290
ypos -369
}
Output {
name Output
xpos 290
ypos -250
}
push $Nf99e4800
Dot {
name Dot391
label " *RGB to XYZ D65 CAT: XYZ Scaling"
xpos 434
ypos -546
}
set Nf94e3800 [stack 0]
ColorMatrix {
matrix {
{0.7006223202 0.1487748027 0.101058729}
{0.2741184831 0.8736317754 -0.1477504224}
{-0.09896290302 -0.1378953159 1.325916052}
}
name ColorMatrix30
label "DaVinci WG to XYZ D65"
note_font Helvetica
xpos 1280
ypos -465
}
push $Nf94e3800
ColorMatrix {
matrix {
{0.705396831 0.1640413404 0.08101775497}
{0.2801307142 0.8202067018 -0.1003373787}
{-0.1037815139 -0.07290726155 1.265746593}
}
name ColorMatrix29
label "Filmlight E-Gamut to XYZ D65"
note_font Helvetica
xpos 1170
ypos -465
}
push $Nf94e3800
ColorMatrix {
matrix {
{0.735275209 0.06860940903 0.1465712786}
{0.2866940796 0.8429790735 -0.1296732426}
{-0.07968084514 -0.3473432064 1.516081929}
}
name ColorMatrix22
label "REDWideGamutRGB to XYZ D65"
xpos 1060
ypos -465
}
push $Nf94e3800
ColorMatrix {
matrix {
{0.6380076408 0.2147038132 0.09774445742}
{0.2919537723 0.8238408566 -0.1157948226}
{0.002798279049 -0.06703422219 1.153293848}
}
name ColorMatrix21
label "Arri AlexaWideGamut to XYZ D65"
xpos 950
ypos -465
}
push $Nf94e3800
ColorMatrix {
matrix {
{0.4123909175 0.3575843573 0.1804807931}
{0.2126390785 0.7151687145 0.07219231129}
{0.01933082566 0.1191947833 0.9505321383}
}
name ColorMatrix18
label "Rec709 to XYZ D65"
xpos 840
ypos -465
}
push $Nf94e3800
ColorMatrix {
matrix {
{0.6369581223 0.1446169168 0.1688809693}
{0.2627002299 0.6779981256 0.05930171534}
{4.99410725e-17 0.02807269618 1.060985088}
}
name ColorMatrix17
label "Rec2020 to XYZ D65"
xpos 730
ypos -465
}
push $Nf94e3800
ColorMatrix {
matrix {
{0.4865711331 0.2656677067 0.1982173175}
{0.2289746404 0.6917386055 0.07928691804}
{-3.972076965e-17 0.04511338845 1.043944478}
}
name ColorMatrix16
label "P3D65 to XYZ D65"
xpos 620
ypos -465
}
push $Nf94e3800
ColorMatrix {
matrix {
{0.6609312296 0.1336961389 0.1558285803}
{0.2722287476 0.6740817428 0.05368950963}
{-0.006018006243 0.004383686464 1.090692043}
}
name ColorMatrix1
label "ACEScg to XYZ D65"
xpos 510
ypos -465
}
push $Nf94e3800
ColorMatrix {
matrix {
{0.9503623843 0 9.346324805e-05}
{0.3439664543 0.728166163 -0.07213254273}
{0 0 1.089057803}
}
name ColorMatrix2
label "ACES to XYZ D65"
xpos 400
ypos -465
}
Switch {
inputs 9
which {{gamut}}
name SwitchGamut
xpos 400
ypos -370
}
end_group
ColorMatrix {
matrix {
{0.18295 0.859943 -0.031061}
{-0.394427 1.258988 0.106423}
{0.064856 -0.07625 0.93164}
}
name XYZ_to_TruelightLMS
label "XYZ D65 to TruelightRGB D65 Scaled"
xpos 180
ypos -736
}
Dot {
name Dot453
xpos 214
ypos -636
}
set Nf94e0800 [stack 0]
Dot {
name Dot11
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xff
xpos 104
ypos -636
}
set Nf94e0400 [stack 0]
Dot {
name Dot454
xpos -226
ypos -636
}
Expression {
channel0 {rgba.red rgba.green rgba.blue none}
expr0 sqrt(pow(w.0*r,2)+pow(w.1*g,2)+pow(w.2*b,2))/sum
channel1 none
channel2 none
channel3 none
name WeightedVectorLength
xpos -260
ypos -610
addUserKnob {20 Param}
addUserKnob {78 w n 3}
w {{wr} {wg} {wb}}
addUserKnob {7 sum t "Normalize so achromatic in=out" R 0 2}
sum {{sqrt(w.0*w.0+w.1*w.1+w.2*w.2)}}
}
Dot {
name Dot455
xpos -226
ypos -546
}
set Nf8923400 [stack 0]
Expression {
expr0 r*s.0
expr1 g*s.0
expr2 b*s.0
name InputScale
selected true
xpos -260
ypos -520
}
set Nf8923000 [stack 0]
Expression {
expr0 r/(r+1)
expr1 g/(g+1)
expr2 b/(b+1)
name Shoulder
xpos -260
ypos -490
}
set Nf8922c00 [stack 0]
Expression {
expr0 pow(r,p)
expr1 pow(g,p)
expr2 pow(b,p)
name Power1
xpos -260
ypos -430
}
Expression {
expr0 (r*r)/(r+t0)
channel1 {-rgba.red rgba.green -rgba.blue none}
expr1 (g*g)/(g+t0)
expr2 (b*b)/(b+t0)
name Toe
xpos -260
ypos -400
}
Dot {
name Dot6
xpos -226
ypos -216
}
push $Nf94e0400
Expression {
temp_name0 mx
temp_expr0 max(r,g,b)
temp_name1 mn
temp_expr1 min(r,g,b)
temp_name2 ch
temp_expr2 0.5*mx+0.5*mn
expr0 ch==0?0:(ch-r)/ch
expr1 ch==0?0:(ch-g)/ch
expr2 ch==0?0:(ch-b)/ch
expr3 ch
name HalfChromaRatios
note_font Helvetica
xpos 70
ypos -579
}
Dot {
name Dot10
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xff
xpos 104
ypos -396
}
set Nf8921800 [stack 0]
Dot {
name Dot17
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xff
xpos 104
ypos -366
}
push $Nf8921800
Expression {
temp_name0 M
temp_expr0 max(r,g,b)
temp_name1 C
temp_expr1 M-min(r,g,b)
temp_name2 H
temp_expr2 ((C==0?0:r==M?((g-b)/C+6)%6:g==M?(b-r)/C+2:b==M?(r-g)/C+4:0)+shift)%6
temp_name3 X
temp_expr3 C*(1-fabs(H%2-1))
expr0 (H<1?C:H<2?X:H<3?0:H<4?0:H<5?X:C)+min(r,g,b)
expr1 (H<1?X:H<2?C:H<3?C:H<4?X:H<5?0:0)+min(r,g,b)
expr2 (H<1?0:H<2?0:H<3?X:H<4?C:H<5?C:X)+min(r,g,b)
expr3 H
name HueRotate_1
note_font Helvetica
xpos -40
ypos -399
addUserKnob {20 HueRotate_tab l HueRotate}
addUserKnob {7 shift R 0 6}
shift 1.5
}
push $Nf8922c00
push $Nf8923000
Dot {
name Dot5
xpos -116
ypos -516
}
MergeExpression {
inputs 2
expr0 Ar==0?0:Ar/Br
expr1 Ag==0?0:Ag/Bg
expr2 Ab==0?0:Ab/Bb
name MergeDivide2
xpos -150
ypos -490
}
MergeExpression {
inputs 2
temp_name0 f1
temp_expr0 ch==0?Ar:ch==1?Ag:ch==2?Ab:1
temp_name1 f
temp_expr1 cl?clamp(f1):f1
expr0 pow(r,p.r)*f+r*(1-f)
expr1 pow(g,p.g)*f+g*(1-f)
expr2 pow(b,p.b)*f+b*(1-f)
name PowerLerp_RED1
note_font Helvetica
xpos -150
ypos -399
disable {{!parent.pdch}}
addUserKnob {20 Param}
addUserKnob {4 ch l channel t "channel of A input to use as lerp factor" M {red green blue}}
ch blue
addUserKnob {6 cl l clamp t "clamp lerp factor channel to 0-1 range" -STARTLINE}
cl true
addUserKnob {18 p l power R 0.2 4}
p {1 1.5 1.1}
addUserKnob {6 p_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
}
MergeExpression {
inputs 2
temp_name0 f1
temp_expr0 ch==0?Ar:ch==1?Ag:ch==2?Ab:1
temp_name1 f
temp_expr1 cl?clamp(f1):f1
expr0 pow(r,p.r)*f+r*(1-f)
expr1 pow(g,p.g)*f+g*(1-f)
expr2 pow(b,p.b)*f+b*(1-f)
name PowerLerp_BLUE1
note_font Helvetica
xpos -150
ypos -369
disable {{!parent.pdch}}
addUserKnob {20 Param}
addUserKnob {4 ch l channel t "channel of A input to use as lerp factor" M {red green blue}}
addUserKnob {6 cl l clamp t "clamp lerp factor channel to 0-1 range" -STARTLINE}
cl true
addUserKnob {18 p l power R 0.2 4}
p {1 1.1 1.5}
addUserKnob {6 p_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
}
Expression {
expr0 pow(r,p)
expr1 pow(g,p)
expr2 pow(b,p)
name Power
xpos -150
ypos -310
addUserKnob {20 Params_tab l Params}
addUserKnob {7 p l power R 0.01 2}
p {{hldc}}
}
Expression {
expr0 r*s
expr1 g*s
expr2 b*s
name ScaleSaturation
xpos -150
ypos -280
addUserKnob {20 Params_tab l Params}
addUserKnob {7 s l scale R 0 2}
s {{saturation}}
}
Dot {
name Dot13
xpos -116
ypos -246
}
push $Nf8923400
push $Nf94e0800
MergeExpression {
inputs 2
expr0 Ar==0?0:Br/Ar
expr1 Ag==0?0:Bg/Ag
expr2 Ab==0?0:Bb/Ab
name MergeDivideReverse1
xpos 180
ypos -550
}
MergeExpression {
inputs 2
expr0 (1-Ar)+Br*Ar
expr1 (1-Ag)+Bg*Ag
expr2 (1-Ab)+Bb*Ab
name LerpToTarget1
xpos 180
ypos -250
}
MergeExpression {
inputs 2
expr0 Ar*Br
expr1 Ar*Bg
expr2 Ar*Bb
name Multiply14
xpos 180
ypos -220
}
ColorMatrix {
matrix {
{{w_ad.0} 0.859943 -0.031061}
{-0.394427 {w_ad.1} 0.106423}
{0.064856 -0.07625 {w_ad.2}}
}
invert true
name TruelightLMS_to_XYZ
label "Scaled for Chromatic Adaptation"
xpos 180
ypos -136
addUserKnob {20 User}
addUserKnob {4 wp l whitepoint t "Choose the creative whitepoint that determines the color of the neutral axis when rendered on the display." M {D50 D55 D60 D65 D75 D93}}
wp D65
addUserKnob {78 w_ad l "wp adapt" t "adapted whitepoint weights" n 3}
w_ad {{curve(wp) 0.171823 0.176293 0.17997 0.18295 0.18759 0.193087} {curve(wp) 1.292538 1.279333 1.268278 1.258988 1.244085 1.225341} {curve(wp) 1.228587 1.10072 1.00585 0.93164 0.827517 0.717363}}
addUserKnob {7 w_n l "wp norm" t "amount to scale output for whitepoint adaptation" R 1 1.5}
w_n {{curve(wp+6*display_gamut) 1.09063 1.05337 1.02355 1 1.12915 1.30631 1.1408 1.08334 1.037 1 1.13116 1.31116 1.17646 1.10416 1.0461 1 1.14486 1.34374}}
}
Group {
name XYZ_to_DisplayGamut
tile_color 0x429940ff
xpos 180
ypos -70
addUserKnob {20 XYZ_to_DisplayGamut_tab l XYZ_to_DisplayGamut}
addUserKnob {4 gamut l "display gamut" t "Choose the target display device chromaticities." M {Rec.2020 P3 Rec.709 "" ""}}
gamut Rec.709
addUserKnob {41 matrix T ColorMatrix.matrix}
addUserKnob {41 invert -STARTLINE T ColorMatrix.invert}
}
Input {
inputs 0
name Input
xpos 290
ypos -580
}
Dot {
name Dot391
label " "
xpos 324
ypos -516
}
set Nf841d800 [stack 0]
Dot {
name Dot1
label " XYZ D65 to *RGB CAT: XYZ Scaling"
xpos 434
ypos -516
}
set Nf841d400 [stack 0]
ColorMatrix {
matrix {
{3.240968943 -1.537382722 -0.4986106157}
{-0.9692435861 1.875967264 0.04155508429}
{0.05563007668 -0.2039769441 1.056971431}
}
name ColorMatrix23
label "XYZ D65 to Rec709"
xpos 620
ypos -465
}
push $Nf841d400
ColorMatrix {
matrix {
{2.493495464 -0.9313831329 -0.4027105868}
{-0.8294886947 1.762663484 0.02362468652}
{0.03584581986 -0.07617236674 0.9568843246}
}
name ColorMatrix24
label "XYZ D65 to P3D65"
xpos 510
ypos -465
}
push $Nf841d400
ColorMatrix {
matrix {
{1.716650844 -0.3556707203 -0.2533662021}
{-0.6666842103 1.616480947 0.01576854289}
{0.01763985492 -0.04277061298 0.9421030283}
}
name ColorMatrix25
label "XYZ D65 to Rec2020"
xpos 400
ypos -465
}
Switch {
inputs 3
which {{gamut}}
name SwitchGamut
xpos 400
ypos -399
}
push $Nf841d800
ColorMatrix {
matrix {
{{"SwitchGamut.input\[value SwitchGamut.which].matrix"} {"SwitchGamut.input\[value SwitchGamut.which].matrix"} {"SwitchGamut.input\[value SwitchGamut.which].matrix"}}
{{"SwitchGamut.input\[value SwitchGamut.which].matrix"} {"SwitchGamut.input\[value SwitchGamut.which].matrix"} {"SwitchGamut.input\[value SwitchGamut.which].matrix"}}
{{"SwitchGamut.input\[value SwitchGamut.which].matrix"} {"SwitchGamut.input\[value SwitchGamut.which].matrix"} {"SwitchGamut.input\[value SwitchGamut.which].matrix"}}
}
name ColorMatrix
xpos 290
ypos -399
}
Output {
name Output
xpos 290
ypos -310
}
end_group
Expression {
expr0 r*s.1
expr1 g*s.1
expr2 b*s.1
name OutputScale
xpos 180
ypos -10
}
Expression {
temp_name0 mn
temp_expr0 0
temp_name1 mx
temp_expr1 Lw/Lp
expr0 max(mn,min(mx,r))
expr1 max(mn,min(mx,g))
expr2 max(mn,min(mx,b))
name Clamp
xpos 180
ypos 20
disable {{!parent.clamp}}
}
Group {
name InverseEOTF
xpos 180
ypos 110
addUserKnob {20 EOTF_tab l EOTF}
addUserKnob {4 eotf t "Choose the inverse EOTF to apply for the target display device." M {None "sRGB Display" BT.1886 "Gamma 2.6" PQ HLG "" "" ""}}
eotf "sRGB Display"
}
Input {
inputs 0
name Input
xpos 400
ypos -160
}
Dot {
name Dot1
xpos 434
ypos -96
}
set Nf7f1e800 [stack 0]
Dot {
name Dot3
xpos 544
ypos -96
}
set Nf7f1e400 [stack 0]
Dot {
name Dot4
xpos 654
ypos -96
}
Expression {
temp_name0 Yd
temp_expr0 0.2627*r+0.6780*g+0.0593*b
expr0 r*pow(Yd,(1-_g)/_g)
expr1 g*pow(Yd,(1-_g)/_g)
expr2 b*pow(Yd,(1-_g)/_g)
name HLG_InverseOOTF
xpos 620
ypos -70
addUserKnob {20 CONSTANTS_tab l CONSTANTS}
addUserKnob {7 _g t "Gamma: Extended model for gamma variation according to peak display luminance and surround luminance: BT.2390-8 p32" R 0 2}
_g {{1.2*pow(1.111,log(Lw/1000)/log(2))*pow(0.98,log(max(1e-6,Lamb)/5)/log(2))}}
addUserKnob {7 Lw R 600 4000}
Lw {{parent.parent.Lw}}
addUserKnob {7 Lamb t "ambient luminance level in nits" R 0 200}
Lamb 5
}
Expression {
expr0 r<=1/12?sqrt(3*r):_a*log(12*r-_b)+_c
expr1 g<=1/12?sqrt(3*g):_a*log(12*g-_b)+_c
expr2 b<=1/12?sqrt(3*b):_a*log(12*b-_b)+_c
name HLG_OETF
xpos 620
ypos -38
addUserKnob {20 CONSTANTS_tab l CONSTANTS}
addUserKnob {7 _a t alpha}
_a 0.17883277
addUserKnob {7 _b t beta}
_b {{1-4*_a}}
addUserKnob {7 _c}
_c {{0.5-_a*log(4*_a)}}
}
push $Nf7f1e400
Expression {
expr0 pow((c_1+c_2*pow(r*Lw/10000,m_1))/(1+c_3*pow(r*Lw/10000,m_1)),m_2)
expr1 pow((c_1+c_2*pow(g*Lw/10000,m_1))/(1+c_3*pow(g*Lw/10000,m_1)),m_2)
expr2 pow((c_1+c_2*pow(b*Lw/10000,m_1))/(1+c_3*pow(b*Lw/10000,m_1)),m_2)
name ST2084_InverseEOTF
xpos 510
ypos -70
addUserKnob {20 CONSTANTS_tab l CONSTANTS}
addUserKnob {7 m_1}
m_1 {{2610/4096*(1/4)}}
addUserKnob {7 m_2}
m_2 {{2523/4096*128}}
addUserKnob {7 c_1}
c_1 {{107/128}}
addUserKnob {7 c_2}
c_2 {{2413/128}}
addUserKnob {7 c_3}
c_3 {{2392/128}}
addUserKnob {7 Lw t "Display peak luminance in nits" R 600 4000}
Lw 10000
}
push $Nf7f1e800
Expression {
expr0 sign(r)*pow(fabs(r),1/p)
expr1 sign(g)*pow(fabs(g),1/p)
expr2 sign(b)*pow(fabs(b),1/p)
name power
xpos 400
ypos -70
addUserKnob {20 Params_tab l Params}
addUserKnob {7 p l power R 0.2 2}
p {{eotf?2+eotf*0.2:1}}
}
Switch {
inputs 3
which {{eotf-3}}
name SwitchInverseEOTF
xpos 400
ypos -10
}
Output {
name Output
xpos 400
ypos 50
}
end_group
Switch {
inputs 2
which {{parent.direction}}
name SwitchDirection
xpos 180
ypos 200
}
Output {
name Output
xpos 180
ypos 290
}
Dot {
inputs 0
name Dot15
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xff
xpos -1105
ypos -364
}
Dot {
inputs 0
name Dot16
note_font "Helvetica Bold"
note_font_size 24
note_font_color 0xff
xpos -1145
ypos -436
}
push 0
MergeExpression {
inputs 2
temp_name0 f1
temp_expr0 ch==0?Ar:ch==1?Ag:ch==2?Ab:1
temp_name1 f
temp_expr1 cl?clamp(f1):f1
expr0 pow(r,p.r)*f+r*(1-f)
expr1 pow(g,p.g)*f+g*(1-f)
expr2 pow(b,p.b)*f+b*(1-f)
name PowerLerp1
label "\[value ch]"
note_font Helvetica
xpos -1250
ypos -416
addUserKnob {20 Param}
addUserKnob {4 ch l channel t "channel of A input to use as lerp factor" M {red green blue}}
ch blue
addUserKnob {6 cl l clamp t "clamp lerp factor channel to 0-1 range" -STARTLINE}
cl true
addUserKnob {18 p l power R 0.2 4}
p {1 0.85 0.6}
addUserKnob {6 p_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
}
MergeExpression {
inputs 2
temp_name0 f1
temp_expr0 ch==0?Ar:ch==1?Ag:ch==2?Ab:1
temp_name1 f
temp_expr1 cl?clamp(f1):f1
expr0 pow(r,p.r)*f+r*(1-f)
expr1 pow(g,p.g)*f+g*(1-f)
expr2 pow(b,p.b)*f+b*(1-f)
name PowerLerp2
label "\[value ch]"
note_font Helvetica
xpos -1249
ypos -373
addUserKnob {20 Param}
addUserKnob {4 ch l channel t "channel of A input to use as lerp factor" M {red green blue}}
addUserKnob {6 cl l clamp t "clamp lerp factor channel to 0-1 range" -STARTLINE}
cl true
addUserKnob {18 p l power R 0.2 4}
p {1 1.05 1.5}
addUserKnob {6 p_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
}
MergeExpression {
inputs 0
temp_name0 f1
temp_expr0 ch==0?Ar:ch==1?Ag:ch==2?Ab:1
temp_name1 f
temp_expr1 cl?clamp(f1):f1
expr0 pow(r,p.r)*f+r*(1-f)
expr1 pow(g,p.g)*f+g*(1-f)
expr2 pow(b,p.b)*f+b*(1-f)
name PowerLerp4
label "\[value ch]"
note_font Helvetica
xpos -1516
ypos -375
disable true
addUserKnob {20 Param}
addUserKnob {4 ch l channel t "channel of A input to use as lerp factor" M {red green blue}}
ch green
addUserKnob {6 cl l clamp t "clamp lerp factor channel to 0-1 range" -STARTLINE}
cl true
addUserKnob {18 p l power R 0.2 4}
p {1 1 0.7}
addUserKnob {6 p_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
}
MergeExpression {
inputs 0
temp_name0 f1
temp_expr0 ch==0?Ar:ch==1?Ag:ch==2?Ab:1
temp_name1 f
temp_expr1 cl?clamp(f1):f1
expr0 pow(r,p.r)*f+r*(1-f)
expr1 pow(g,p.g)*f+g*(1-f)
expr2 pow(b,p.b)*f+b*(1-f)
name PowerLerp7
label "\[value ch]"
note_font Helvetica
xpos -1409
ypos -398
addUserKnob {20 Param}
addUserKnob {4 ch l channel t "channel of A input to use as lerp factor" M {red green blue}}
ch blue
addUserKnob {6 cl l clamp t "clamp lerp factor channel to 0-1 range" -STARTLINE}
addUserKnob {18 p l power R 0.2 4}
p {1 1 0.6}
addUserKnob {6 p_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
}
end_group
Text2 {
font_size_toolbar 100
font_width_toolbar 100
font_height_toolbar 100
message "Open DRT"
old_message {{79 112 101 110 32 68 82 84}
}
box {33.5 28.5 216.5 67.5}
transforms {{0 2}
}
cursor_position 8
global_font_scale 0.38
center {1024 778}
cursor_initialised true
initial_cursor_position {{33.5 67.5}
}
group_animations {{0} imported: 0 selected: items: "root transform/"}
animation_layers {{1 11 1024 778 0 0 1 1 0 0 0 0}
}
name Text1
xpos -77
ypos -395
}
push $Nfb69f000
OCIODisplay {
colorspace scene_linear
display "ACES VWG GM"
view "Filmlight TCAM (Rec.709)"
name OCIODisplay5
label "\[value view]"
xpos 157
ypos -437
}
Text2 {
font_size_toolbar 100
font_width_toolbar 100
font_height_toolbar 100
message TCAM
old_message {{84 67 65 77}
}
box {37 20.5 147 59.5}
transforms {{0 2}
}
cursor_position 4
global_font_scale 0.38
center {1024 778}
cursor_initialised true
initial_cursor_position {{37 59.5}
}
group_animations {{0} imported: 0 selected: items: "root transform/"}
animation_layers {{1 11 1024 778 0 0 1 1 0 0 0 0}
}
name Text6
xpos 157
ypos -383
}
ContactSheet {
inputs 3
width 3438
height 1389
rows 1
columns 3
name ContactSheet2
selected true
xpos 64
ypos -288
}
Viewer {
frame 1
frame_range 1-100
colour_sample_bbox {-0.8144270182 0.04275741801 -0.8138452768 0.04333915189}
samplepoints {{-0.824316442 0.02297847532}
}
viewerProcess "Raw (ACES)"
name Viewer1
xpos -40
ypos -9
}