forked from jedypod/nuke-colortools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCompressShoulder.nk
106 lines (106 loc) · 3.58 KB
/
CompressShoulder.nk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
set cut_paste_input [stack 0]
push $cut_paste_input
Group {
name CompressShoulder
addUserKnob {20 CompressShoulder_tab l CompressShoulder}
addUserKnob {18 threshold t "The minimum threshold. Values below this number will not be affected." R 0 6}
threshold 1
addUserKnob {6 threshold_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {18 limit t "The asymptotic maximum value. For example, the value that inf becomes." R 1 10}
limit 5
addUserKnob {6 limit_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {18 power t "The steepness of the curve. Lower values have a more gentle slope. 0 is a linear break. 1 is equal to Reinhard. Higher values have C2 continuity." R 1 4}
power 1.2
addUserKnob {6 power_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {4 direction M {forward inverse}}
}
Input {
inputs 0
name Inputmask
xpos -1030
ypos 878
number 1
}
Input {
inputs 0
name Input
xpos -1140
ypos 638
}
set Ndfffb8b0 [stack 0]
Dot {
name Dot1
xpos -1106
ypos 714
}
set N72c9e520 [stack 0]
Expression {
expr0 r<t.r||x0.r<1.0001?r:r>(t.r+s.r)?r+t.r+s.r:t.r+s.r*pow(-(pow((r-t.r)/s.r,p)/(pow((r-t.r)/s.r,p)-1)),1/p)
expr1 g<t.g||x0.g<1.0001?g:g>(t.g+s.g)?g+t.g+s.g:t.g+s.g*pow(-(pow((g-t.g)/s.g,p)/(pow((g-t.g)/s.g,p)-1)),1/p)
expr2 b<t.b||x0.b<1.0001?b:b>(t.b+s.b)?b+t.b+s.b:t.b+s.b*pow(-(pow((b-t.b)/s.b,p)/(pow((b-t.b)/s.b,p)-1)),1/p)
name uncompress
xpos -1249
ypos 758
addUserKnob {20 Params_tab l Params}
addUserKnob {18 t}
t {{parent.compress.t} {parent.compress.t} {parent.compress.t}}
addUserKnob {6 t_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {18 x0}
x0 {{parent.compress.x0} {parent.compress.x0} {parent.compress.x0}}
addUserKnob {6 x0_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {18 y0}
y0 {{parent.compress.y0} {parent.compress.y0} {parent.compress.y0}}
addUserKnob {6 y0_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {18 p R 1 5}
p {{parent.compress.p} {parent.compress.p} {parent.compress.p}}
addUserKnob {6 p_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {18 s}
s {{parent.compress.s} {parent.compress.s} {parent.compress.s}}
addUserKnob {6 s_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
}
push $N72c9e520
Expression {
expr0 r<t.r||x0.r<1.0001?r:t.r+s.r*((r-t.r)/s.r)/(pow(1+pow((r-t.r)/s.r,p),1/p))
expr1 g<t.g||x0.g<1.0001?g:t.g+s.g*((g-t.g)/s.g)/(pow(1+pow((g-t.g)/s.g,p),1/p))
expr2 b<t.b||x0.b<1.0001?b:t.b+s.b*((b-t.b)/s.b)/(pow(1+pow((b-t.b)/s.b,p),1/p))
name compress
xpos -1140
ypos 758
addUserKnob {20 Params_tab l Params}
addUserKnob {18 t R 0 5}
t {{parent.threshold}}
addUserKnob {6 t_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {18 x0 R 0 5}
x0 10000
addUserKnob {6 x0_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {18 y0 R 0 5}
y0 {{parent.limit}}
addUserKnob {6 y0_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {18 p R 1 5}
p {{"parent.power < 0.1 ? 0.1 : parent.power"}}
addUserKnob {6 p_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {18 s}
s {{(x0-this.t)/pow(pow((y0-this.t)/(x0-this.t),-p)-1,1/p)}}
addUserKnob {6 s_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
}
Switch {
inputs 2
which {{parent.direction}}
name switch_reverse
xpos -1140
ypos 830
}
push $Ndfffb8b0
NodeWrapper {
inputs 2+1
channels rgb
name NodeWrapper1
xpos -1140
ypos 878
}
Output {
name Output
xpos -1140
ypos 950
}
end_group