#! /Applications/Nuke10.0v4/Nuke10.0v4.app/Contents/MacOS//libnuke-10.0.4.dylib -nx
version 10.0 v4
Gizmo {
icon HeatWave_Node.png
inputs 3
onCreate "node = nuke.thisNode()\n\nw = node.width()/2\n\nh = node.height()/2+300\n\nif not node.knob('firstCreation').value():\n\n node.knob('p1').setValue((w,h))\n\n node.knob('firstCreation').setValue(True)"
knobChanged "n = nuke.thisNode()\n\nif n.input(2) !=None :\n n\['translate'].setEnabled(False)\n n\['velocity'].setEnabled(False)\n n\['bigturbulence'].setEnabled(False)\n n\['turbulencesize'].setEnabled(False)\n n\['smallturbulence'].setEnabled(False)\n n\['smallturbsize'].setEnabled(False)\n n\['p1'].setEnabled(False)\n n\['windstrength'].setEnabled(False)\nelse:\n n\['translate'].setEnabled(True)\n n\['velocity'].setEnabled(True)\n n\['bigturbulence'].setEnabled(True)\n n\['turbulencesize'].setEnabled(True)\n n\['smallturbulence'].setEnabled(True)\n n\['smallturbsize'].setEnabled(True)\n n\['p1'].setEnabled(True)\n n\['windstrength'].setEnabled(True)\n\n\nw2 = n.width()/2\n\nh2 = n.height()/2\n\nn.knob('p0').setValue((w2,h2))\n\nn.knob('p0').setEnabled(False)"
tile_color 0x110000ff
note_font Verdana
note_font_color 0xff5141ff
lock_connections true
addUserKnob {20 HeatWaveTab l HeatWave}
addUserKnob {26 Credits l "" +STARTLINE T ""}
addUserKnob {52 CREDITS T "nuke.thisNode().knob(\"Credits\").setValue(\"\")" +STARTLINE}
addUserKnob {26 _________________ l "Tracking Data" t "Add tracking translation for non static shots for the distortion to follow.\n\nFeature disabled if the 'Custom' input is being used."}
addUserKnob {12 translate l Translate t "Add tracking translation for non static shots for the distortion to follow.\n\nFeature disabled if the 'Custom' input is being used."}
addUserKnob {26 __________________ l "Turbulence"}
addUserKnob {7 velocity l Velocity t "Static noise pattern evolution speed.\n\nKnob disabled if the 'Custom' input is being used." R 0 10}
velocity 5
addUserKnob {7 turbulencerange l Range t "Distortion range over the image." R 0 10}
turbulencerange 5
addUserKnob {7 globalmult l "Global Mult" t "Global distortion multiplier.\n\nNo distortion if set to 0" R 0 10}
globalmult 5
addUserKnob {20 basegroup l Base t "Base distortion." n 1}
addUserKnob {7 bigturbulence l Amount t "Base distortion mult.\n\nKnob disabled if the 'Custom' input is being used." R 0 10}
bigturbulence 5
addUserKnob {7 turbulencesize l Size t "Base distortion size.\n\nKnob disabled if the 'Custom' input is being used." R 0 10}
turbulencesize 5
addUserKnob {20 endGroup_1 l endGroup n -1}
addUserKnob {20 detailgroup l Detail t "Distortion detail." n 1}
addUserKnob {7 smallturbulence l Amount t "Distortion detail mult.\n\nKnob disabled if the 'Custom' input is being used." R 0 10}
smallturbulence 5
addUserKnob {7 smallturbsize l Size t "Distortion detail size.\n\nKnob disabled if the 'Custom' input is being used." R 0 10}
smallturbsize 5
addUserKnob {20 endGroup n -1}
addUserKnob {26 ___________________ l "Haze" t "Heat blur."}
addUserKnob {7 blur l Amount t "Haze/Blur amount." R 0 10}
blur 5
addUserKnob {7 blurexpansion l Range t "Haze/Blur range over the image." R 0 10}
blurexpansion 5
addUserKnob {26 ______________________ l "Wind"}
addUserKnob {41 p0 l INVISIBLE +INVISIBLE T WindRamp.p0}
addUserKnob {41 p1 l Direction t "Control the direction of the wind by moving the control point.\nThe distance from center controls the wind strength.\n\nKnob disabled if the 'Custom' input is being used." T WindRamp.p1}
addUserKnob {7 windstrength l Strength t "Wind strength multiplier.\n\nWind disabled if set to 0" R 0 2}
windstrength 1
addUserKnob {26 _________________________ l "Effects"}
addUserKnob {7 smoke l Smoke t "Smoke mix." R 0 10}
addUserKnob {18 smokecolor l "Smoke Color"}
smokecolor 0.02
addUserKnob {6 smokecolor_panelDropped l "panel dropped state" -STARTLINE +HIDDEN}
addUserKnob {7 ca l "Chromatic Ab" t "Chromatic Aberration." R -4 4}
addUserKnob {26 ______________ l "" +STARTLINE}
addUserKnob {20 loopgroup l "Loop Distort Map " t "Loop distortion map.\n\nNOTE: It will also loop tracking translation." n 1}
loopgroup 0
addUserKnob {3 loopframes l "Loop Frames" t "Number of frames to loop.\n\nNOTE: It will also loop tracking translation." -STARTLINE}
addUserKnob {3 framesoffset l " Time Offset" t "Offset frames to adjust the loop range." -STARTLINE}
addUserKnob {20 endGroup_2 l endGroup n -1}
addUserKnob {68 heatoutput l Output M {Distorted "Distort Map " "CheckerBoard "}}
addUserKnob {6 affectalpha l "Affect Source Alpha" t "Distort the source image's alpha." -STARTLINE}
addUserKnob {6 firstCreation l INVISIBLE +INVISIBLE +STARTLINE}
}
Input {
inputs 0
name Mask
xpos -495
ypos 984
number 1
}
Reformat {
type "to box"
box_width {{Image.width}}
box_height {{Image.height}}
box_fixed true
box_pixel_aspect {{Image.pixel_aspect}}
name Reformat6
xpos -495
ypos 1010
}
Blur {
channels alpha
size 10
name Blur2
xpos -495
ypos 1075
}
Dot {
name Dot12
xpos -461
ypos 1153
}
set N247afa80 [stack 0]
Dot {
name Dot5
xpos -461
ypos 1184
}
set N247b3cb0 [stack 0]
Dot {
name Dot3
xpos -461
ypos 1213
}
set N247b7f90 [stack 0]
Dot {
name Dot14
xpos -461
ypos 1240
}
set N247bc290 [stack 0]
Input {
inputs 0
name Custom
xpos 279
ypos -323
number 2
}
Blur {
channels alpha
size 2
name Blur1
xpos 279
ypos -197
}
Multiply {
channels alpha
value {{clamp(parent.turbulencerange)}}
name Multiply2
xpos 279
ypos -159
disable {{"!\[exists parent.input2]"}}
}
Gamma {
channels alpha
value {{"parent.turbulencerange / 5"}}
name Gamma1
xpos 279
ypos -121
disable {{"!\[exists parent.input2]"}}
}
Dot {
name Dot6
xpos 313
ypos 24
}
Reformat {
inputs 0
type "to box"
box_width {{Image.width}}
box_height {{Image.height}}
box_fixed true
filter Impulse
name Reformat4
xpos 660
ypos -997
hide_input true
}
set N247e8e50 [stack 0]
Dot {
name Dot30
xpos 566
ypos -994
}
Noise {
output alpha
opacity {{"parent.turbulencesize / 10"}}
size {{"parent.turbulencesize * 70"}}
zoffset {{"frame * (velocity / 100)"}}
lacunarity 1
gain 0.1
gamma {{"pow(parent.turbulencerange / 10,0.6)"}}
translate {{"(frame * (((WindRamp.p1.x-WindRamp.p0.x)/4) * ((Image.width) / 102.4) / 20)) * parent.windstrength + parent.translate.x"} {"(frame * (((WindRamp.p1.y-WindRamp.p0.y)/4) * ((Image.width) / 102.4) / 20)) * parent.windstrength + (parent.translate.y / Image.pixel_aspect)"}}
scale {{"((Image.width) / 102.4) / 20"}}
center {1440 1080}
name Noise3
xpos 532
ypos -875
}
Add {
channels alpha
value {{"parent.bigturbulence >= 5 ? 0 : pow(1 - (parent.bigturbulence /5),3)"}}
name Add1
xpos 532
ypos -253
}
set N25e0ef00 [stack 0]
Grade {
channels alpha
whitepoint 0.2
gamma 0.5
black_clamp false
name Grade1
xpos 661
ypos -253
}
push $N247e8e50
Dot {
name Dot43
xpos 831
ypos -994
}
Reformat {
type scale
scale {{"1/(((Image.width) / 102.4) / 20)"}}
name Reformat9
xpos 797
ypos -922
}
set N25e2a650 [stack 0]
Dot {
name Dot44
xpos 956
ypos -919
}
Shuffle {
in alpha
red white
alpha white
out alpha
name Shuffle7
label "\[value in]"
xpos 922
ypos -699
}
Crop {
box {0 0 {width} {height}}
name Crop7
xpos 922
ypos -657
}
Transform {
scale 0.98
center {{width/2} {height/2}}
filter Impulse
black_outside false
name Transform12
xpos 922
ypos -633
}
Invert {
channels alpha
name Invert2
xpos 922
ypos -605
}
Blur {
channels alpha
size 10
name Blur7
xpos 922
ypos -567
}
Crop {
box {0 0 {width} {height}}
crop false
name Crop8
xpos 922
ypos -471
}
Reformat {
type "to box"
box_width {{Image.width}}
box_height {{Image.height}}
box_fixed true
filter Keys
name Reformat2
xpos 922
ypos -447
}
Dot {
name Dot45
xpos 956
ypos -376
}
push $N25e2a650
Noise {
output alpha
opacity {{"parent.smallturbulence / 400"}}
size 1000
zoffset {{"10 + frame * (velocity / 5000)"}}
gain 0.35
gamma {{"parent.turbulencerange / 5"}}
translate {{"((((frame * (((WindRamp.p1.x-WindRamp.p0.x)/4) * ((Image.width) / 102.4) / 20)) * parent.windstrength) / 4) + parent.translate.x) * Reformat9.scale * 1/(pow((parent.smallturbsize / 2), 0.5) + 1)"} {"((((frame * (((WindRamp.p1.y-WindRamp.p0.y)/4) * ((Image.width) / 102.4) / 20)) * parent.windstrength) / 4) + (parent.translate.y / Image.pixel_aspect)) * Reformat9.scale * (1/(pow((parent.smallturbsize / 2), 0.5) + 1))"}}
center {1440 1080}
name Noise1
xpos 797
ypos -874
}
Dot {
name Dot38
xpos 831
ypos -767
}
set N25e9df70 [stack 0]
FilterErode {
channels alpha
name FilterErode2
xpos 714
ypos -774
}
Dot {
name Dot39
xpos 748
ypos -720
}
push $N25e9df70
Merge2 {
inputs 2
operation difference
Achannels alpha
Bchannels alpha
output alpha
name Merge18
xpos 797
ypos -727
}
Multiply {
channels rgba
value {{"(pow(parent.smallturbulence, 0.6) * 80) - ((5-clamp(parent.bigturbulence, 0, 5))*40)"}}
name Multiply3
xpos 797
ypos -682
}
Dot {
name Dot40
xpos 831
ypos -616
}
set N25ec82c0 [stack 0]
Dot {
name Dot41
xpos 739
ypos -616
}
Dot {
name Dot42
xpos 739
ypos -515
}
push $N25ec82c0
Multiply {
channels rgba
value 20
mix {{"parent.smallturbsize / 10"}}
name Multiply8
xpos 797
ypos -587
}
Transform {
scale {{"pow((parent.smallturbsize / 2), 0.5) + 1"}}
center {{"width / 2"} {"height / 2"}}
filter Keys
black_outside false
name Transform8
xpos 797
ypos -563
}
Merge2 {
inputs 2
operation plus
Achannels alpha
Bchannels alpha
output alpha
mix {{"clamp(parent.smallturbsize / 2)"}}
name Merge19
xpos 797
ypos -522
}
Reformat {
type "to box"
box_width {{Image.width}}
box_height {{Image.height}}
box_fixed true
filter Parzen
name Reformat10
xpos 797
ypos -445
}
TransformMasked {
inputs 1+1
channels alpha
scale 1.01
center {{"Image.width / 2"} {"Image.height / 2"}}
black_outside false
name Transform11
xpos 797
ypos -383
}
Crop {
box {0 0 {Image.width} {Image.height}}
crop false
name Crop6
xpos 797
ypos -351
}
Merge2 {
inputs 2
operation multiply
Achannels alpha
Bchannels alpha
output alpha
name Merge9
xpos 797
ypos -253
}
Dot {
name Dot4
xpos 831
ypos -125
}
push $N25e0ef00
Multiply {
channels alpha
value {{"parent.bigturbulence / 2.5"}}
name Multiply4
xpos 532
ypos -194
}
Merge2 {
inputs 2
operation plus
Achannels alpha
Bchannels alpha
output alpha
name Merge5
xpos 532
ypos -132
}
Switch {
inputs 2
which {{"\[exists parent.input2]"}}
name Switch2
knobChanged "\nif nuke.toNode('Switch2').knob('which').getValue() == 1:\n nuke.thisNode()\['velocity'].setEnabled(False)\nelse:\n nuke.thisNode()\['velocity'].setEnabled(True)\n\n"
xpos 532
ypos 21
}
TimeOffset {
time_offset {{"-parent.framesoffset - parent.loopframes"}}
time ""
name TimeOffset1
xpos 532
ypos 199
disable {{"parent.loopframes <= 0"}}
}
set Nb27e00 [stack 0]
Dot {
name Dot34
xpos 676
ypos 202
}
TimeOffset {
time_offset {{parent.loopframes}}
time ""
name TimeOffset2
xpos 642
ypos 250
disable {{"parent.loopframes <= 0"}}
}
push $Nb27e00
Dissolve {
inputs 2
channels alpha
which {{"((root.first_frame - frame) * -1) / loopframes"}}
name Dissolve2
xpos 532
ypos 244
disable {{"parent.loopframes <= 0"}}
}
TimeClip {
time ""
first {{root.first_frame}}
before loop
last {{"root.first_frame + parent.loopframes - 1"}}
after loop
origlast 100
origset true
name TimeClip2
xpos 532
ypos 282
disable {{"parent.loopframes <= 0"}}
}
Reformat {
type "to box"
box_width {{Image.width}}
box_height {{Image.height}}
box_fixed true
box_pixel_aspect {{Image.pixel_aspect}}
filter Keys
name Reformat7
xpos 532
ypos 469
}
set N25f781a0 [stack 0]
Dot {
name Dot17
xpos 180
ypos 472
}
set N25f85550 [stack 0]
Dot {
name Dot13
xpos -200
ypos 472
}
set N25f89820 [stack 0]
Merge2 {
inputs 2
operation mask
name Merge6
xpos -234
ypos 1237
disable {{"!\[exists parent.input1]"}}
}
Dot {
name Dot8
xpos -200
ypos 2421
}
Shuffle {
in alpha
name Shuffle5
xpos 368
ypos 2418
}
ColorWheel {
inputs 0
format "1024 1024 0 0 1024 1024 1 square_1K"
edgeValue 0.8
gamma 0.45
name ColorWheel2
xpos 1823
ypos 440
disable {{"!(parent.heatoutput == 2)"}}
postage_stamp false
}
Transform {
scale 0.4
center {512 512}
name Transform9
xpos 1823
ypos 466
disable {{"!(parent.heatoutput == 2)"}}
}
Reformat {
type "to box"
box_width {{Image.width}}
box_height {{Image.height}}
box_fixed true
box_pixel_aspect {{Image.pixel_aspect}}
filter Impulse
pbb true
name Reformat8
xpos 1823
ypos 492
disable {{"!(parent.heatoutput == 2)"}}
}
set N25fc0180 [stack 0]
Transform {
scale 0.74
center {{Image.width/2} {Image.height/2}}
name Transform5
xpos 1935
ypos 533
disable {{"!(parent.heatoutput == 2)"}}
}
push $N25fc0180
Merge2 {
inputs 2
operation stencil
name Merge14
xpos 1823
ypos 554
disable {{"!(parent.heatoutput == 2)"}}
}
set N25fd8e80 [stack 0]
Transform {
scale 0.58
center {{Image.width/2} {Image.height/2}}
name Transform7
xpos 1937
ypos 594
disable {{"!(parent.heatoutput == 2)"}}
}
set N25fe6550 [stack 0]
Transform {
scale 0.45
center {{Image.width/2} {Image.height/2}}
name Transform10
xpos 1937
ypos 653
disable {{"!(parent.heatoutput == 2)"}}
}
push $N25fe6550
push $N25fd8e80
Merge2 {
inputs 2
name Merge15
xpos 1823
ypos 624
disable {{"!(parent.heatoutput == 2)"}}
}
Merge2 {
inputs 2
name Merge17
xpos 1823
ypos 680
disable {{"!(parent.heatoutput == 2)"}}
}
CheckerBoard2 {
inputs 0
format "2048 2048 0 0 2048 2048 1 square_2K"
boxsize 58
color0 0.03
color1 0.3
color2 0.03
color3 0.3
linecolor 0.5
linewidth 2
centerlinewidth 0
name CheckerBoard2
xpos 1698
ypos 440
disable {{"!(parent.heatoutput == 2)"}}
postage_stamp false
}
Reformat {
type "to box"
box_width {{Image.width}}
box_height {{Image.height}}
box_fixed true
box_pixel_aspect {{Image.pixel_aspect}}
filter Impulse
name Reformat5
xpos 1698
ypos 466
disable {{"!(parent.heatoutput == 2)"}}
}
Merge2 {
inputs 2
name Merge16
xpos 1698
ypos 680
disable {{"!(parent.heatoutput == 2)"}}
}
Shuffle {
alpha black
name Shuffle6
xpos 1698
ypos 706
disable {{"!(parent.heatoutput == 2)"}}
}
Crop {
box {0 0 {Image.width} {Image.height}}
crop false
name Crop3
xpos 1698
ypos 732
disable {{"!(parent.heatoutput == 2)"}}
}
Input {
inputs 0
name Image
xpos 1294
ypos 471
}
set N26056510 [stack 0]
Switch {
inputs 2
which {{"parent.heatoutput == 2 ? 2 : 0"}}
name Switch4
xpos 1294
ypos 732
disable {{"!(parent.heatoutput == 2)"}}
}
Dot {
name Dot25
xpos 1328
ypos 792
}
set N26061bb0 [stack 0]
Dot {
name Dot29
xpos 1552
ypos 792
}
Dot {
name Dot28
xpos 1552
ypos 2212
}
set N2606a130 [stack 0]
Dot {
name Dot11
xpos 1552
ypos 2320
}
push $N25f89820
Dot {
name Dot35
xpos -329
ypos 472
}
Expression {
channel0 {-rgba.red -rgba.green -rgba.blue none}
channel1 {-rgba.red -rgba.green -rgba.blue none}
channel2 {-rgba.red -rgba.green -rgba.blue none}
expr3 "a == 0 ? 1 : 0"
name Expression2
xpos -363
ypos 1332
disable {{"!\[exists parent.input2]"}}
}
Blur {
channels alpha
size 20
name Blur6
xpos -363
ypos 1358
disable {{"!\[exists parent.input2]"}}
}
set N26083410 [stack 0]
Dot {
name Dot37
xpos -329
ypos 1568
}
push $N247bc290
Expression {
channel0 {-rgba.red -rgba.green -rgba.blue none}
channel1 {-rgba.red -rgba.green -rgba.blue none}
channel2 {-rgba.red -rgba.green -rgba.blue none}
expr3 "a == 0 ? 1 : 0"
name Expression1
xpos -495
ypos 1419
disable {{"!\[exists parent.input1]"}}
}
Blur {
channels alpha
size 20
name Blur3
xpos -495
ypos 1445
disable {{"!\[exists parent.input1]"}}
}
set N2609f8e0 [stack 0]
ChannelMerge {
inputs 2
name ChannelMerge1
xpos -495
ypos 1556
disable {{"!\[exists parent.input2]"}}
}
Dot {
name Dot24
xpos -461
ypos 2212
}
push $N2606a130
push $N247b7f90
push $N25f85550
Grade {
channels alpha
whitepoint {{"1 - pow((parent.blurexpansion / 10), 1.0 / 3)"}}
multiply {{"(parent.blurexpansion / 10)"}}
white_clamp true
name Grade12
xpos 146
ypos 812
}
Blur {
channels alpha
size 2
name Blur4
xpos 146
ypos 850
}
Merge2 {
inputs 2
operation mask
name Merge2
xpos 146
ypos 1210
disable {{"!\[exists parent.input1]"}}
}
Dot {
name Dot26
xpos 180
ypos 1646
}
set N260e0510 [stack 0]
Grade {
channels alpha
blackpoint 0.1
multiply 8
black_clamp false
enable_mix_luminance false
name Grade16
xpos 398
ypos 1702
}
push $N260e0510
Grade {
channels alpha
blackpoint 0.2
multiply 4
black_clamp false
enable_mix_luminance false
name Grade15
xpos 398
ypos 1671
}
push $N260e0510
Grade {
channels alpha
blackpoint 0.4
multiply 3
black_clamp false
enable_mix_luminance false
name Grade14
xpos 398
ypos 1639
}
push $N260e0510
Grade {
channels alpha
blackpoint 0.6
multiply 2
black_clamp false
enable_mix_luminance false
name Grade13
xpos 398
ypos 1608
}
push $N260e0510
Grade {
channels alpha
blackpoint 0.8
black_clamp false
enable_mix_luminance false
name Grade2
xpos 398
ypos 1578
}
push $N26083410
Dot {
name Dot33
xpos -90
ypos 1365
}
push $N2609f8e0
Merge2 {
inputs 2
name Merge13
xpos -124
ypos 1449
disable {{"!\[exists parent.input2]"}}
}
push $N247b3cb0
push $N25f781a0
Dot {
name Dot7
xpos 566
ypos 613
}
set N2613adf0 [stack 0]
Dot {
name Dot15
xpos 566
ypos 740
}
set N2613f040 [stack 0]
Matrix {
channels alpha
matrix {
{0 0 0}
{-1 0 1}
{0 0 0}
}
name Matrix1
xpos 452
ypos 787
}
Multiply {
channels alpha
value {{"((Image.width*Image.pixel_aspect) / 102.4) / 20"}}
name Multiply9
xpos 452
ypos 819
}
set C2614d4d0 [stack 0]
push $N2613f040
Matrix {
channels alpha
matrix {
{0 1 0}
{0 0 0}
{0 -1 0}
}
name Matrix2
xpos 606
ypos 787
}
clone $C2614d4d0 {
xpos 606
ypos 819
selected false
}
ShuffleCopy {
inputs 2
red alpha
green alpha2
blue blue
alpha black
name ShuffleCopy2
xpos 528
ypos 880
}
Remove {
operation keep
channels {rgba.red rgba.green -rgba.blue none}
name Remove6
xpos 528
ypos 906
}
Blur {
channels rgb
size 2
mix 0.5
name Blur5
xpos 528
ypos 944
}
Multiply {
channels rgb
value 2000
name Multiply1
xpos 528
ypos 970
}
Merge2 {
inputs 2
operation mask
name Merge1
xpos 528
ypos 1181
disable {{"!\[exists parent.input1]"}}
}
push $N247afa80
push $N2613adf0
Dot {
name Dot16
xpos 925
ypos 613
}
Shuffle {
in alpha
out rgb
name Shuffle3
xpos 891
ypos 810
disable {{"parent.smoke == 0"}}
}
ColorLookup {
lut {master {curve C 0 x0.2923340797 0.5053922534 x1 0.9933823347 s0.01999999955 u2.22280097}
red {}
green {}
blue {}
alpha {}}
name ColorLookup1
xpos 891
ypos 834
disable {{"parent.smoke == 0"}}
}
Shuffle {
in rgb
out alpha
name Shuffle4
xpos 891
ypos 858
disable {{"parent.smoke == 0"}}
}
Multiply {
channels alpha
value {{"(parent.smoke / 10)"}}
name Multiply5
xpos 891
ypos 1020
disable {{"parent.smoke == 0"}}
}
Gamma {
channels alpha
value {{"(parent.smoke / 5)"}}
name Gamma2
xpos 891
ypos 1052
disable {{"parent.smoke == 0"}}
}
Merge2 {
inputs 2
operation mask
name Merge7
xpos 891
ypos 1149
disable {{"!\[exists parent.input1]"}}
}
Constant {
inputs 0
channels rgb
color {{parent.smokecolor.r} {parent.smokecolor.g} {parent.smokecolor.b} {curve}}
color_panelDropped true
name Constant2
xpos 793
ypos 1190
disable {{"parent.smoke == 0"}}
postage_stamp false
}
Shuffle {
alpha white
name Shuffle1
xpos 793
ypos 1216
disable {{"parent.smoke == 0"}}
}
push $N26061bb0
Crop {
box {0 0 {Image.width} {Image.height}}
crop false
name Crop4
xpos 1294
ypos 857
}
set N2620ac30 [stack 0]
Transform {
scale 1.4
center {{"Image.width / 2"} {"Image.height / 2"}}
black_outside false
name Transform2
xpos 1402
ypos 857
}
Dot {
name Dot27
xpos 1436
ypos 1090
}
push $N2620ac30
Mirror {
Horizontal true
Vertical true
name Mirror2
xpos 1294
ypos 883
}
Reformat {
type scale
scale 3
filter Impulse
name Reformat1
xpos 1294
ypos 909
}
Tile {
rows 3
mirrorRows true
columns 3
mirrorCols true
filter Impulse
name Tile1
xpos 1294
ypos 935
}
Reformat {
type "to box"
box_width {{Image.width}}
box_height {{Image.height}}
box_fixed true
box_pixel_aspect {{Image.pixel_aspect}}
filter Impulse
name Reformat3
xpos 1294
ypos 961
}
Transform {
translate {-1 -1}
scale 3
center {{"width / 2"} {"height / 2"}}
filter Impulse
black_outside false
name Transform1
xpos 1294
ypos 987
}
push $N26061bb0
Dot {
name Dot36
xpos 1242
ypos 792
}
Dot {
name Dot18
xpos 1242
ypos 1042
}
Dissolve {
inputs 2
channels rgba
which 1
name Dissolve1
xpos 1294
ypos 1039
}
CopyBBox {
inputs 2
name CopyBBox1
xpos 1294
ypos 1087
}
Dot {
name Dot9
xpos 1328
ypos 1267
}
Keymix {
inputs 3
channels rgb
name Keymix1
xpos 891
ypos 1264
disable {{"parent.smoke == 0"}}
}
Copy {
inputs 2
from0 rgba.red
to0 forward.u
from1 rgba.green
to1 forward.v
name Copy2
xpos 528
ypos 1251
}
CopyBBox {
inputs 2
name CopyBBox2
xpos 528
ypos 1449
disable {{"!\[exists parent.input1] & !\[exists parent.input2]"}}
}
Blur {
inputs 1+1
channels rgba
size {{"((Image.width*Image.pixel_aspect) / 102.4) * (parent.blur / 8)"}}
quality 2
name Blur10
xpos 528
ypos 1582
}
Blur {
inputs 1+1
channels rgba
size {{"parent.Blur10.size / 1.25"}}
quality 2
name Blur11
xpos 528
ypos 1612
}
Blur {
inputs 1+1
channels rgba
size {{"parent.Blur10.size / 1.666666"}}
quality 2
name Blur12
xpos 528
ypos 1643
}
Blur {
inputs 1+1
channels rgba
size {{"parent.Blur10.size / 2.5"}}
quality 2
name Blur13
xpos 528
ypos 1675
}
Blur {
inputs 1+1
channels rgba
size {{"parent.Blur10.size / 6.66666"}}
quality 4
name Blur14
xpos 528
ypos 1706
}
Dot {
name Dot1
xpos 562
ypos 1841
}
set N262cb5c0 [stack 0]
Dot {
name Dot10
xpos 274
ypos 1841
}
set N262cf8a0 [stack 0]
Remove {
operation keep
channels {-rgba.red -rgba.green rgba.blue none}
channels2 forward
channels3 alpha
name Remove9
xpos 240
ypos 1893
disable {{"parent.ca >= 0"}}
}
IDistort {
channels rgba
uv forward
uv_scale {{"((1 + -parent.ca/2) * (parent.globalmult / 5)) * (((Image.width*Image.pixel_aspect) / 102.4) / 20)"}}
blur_scale 0
filter Notch
name IDistort5
xpos 240
ypos 1932
disable {{"parent.ca >= 0"}}
}
set N262db850 [stack 0]
push 0
push $N262cf8a0
Remove {
operation keep
channels {rgba.red -rgba.green -rgba.blue none}
channels2 forward
channels3 alpha
name Remove10
xpos 339
ypos 1891
disable {{"parent.ca >= 0"}}
}
IDistort {
channels rgba
uv forward
uv_scale {{"(parent.globalmult / 5) * (((Image.width*Image.pixel_aspect) / 102.4) / 20)"}}
blur_scale 0
filter Notch
name IDistort6
xpos 339
ypos 1932
disable {{"parent.ca >= 0"}}
}
set N262edbc0 [stack 0]
push $N262cf8a0
Remove {
operation keep
channels {-rgba.red rgba.green -rgba.blue none}
channels2 forward
channels3 alpha
name Remove11
xpos 142
ypos 1893
disable {{"parent.ca >= 0"}}
}
IDistort {
channels rgba
uv forward
uv_scale {{"((1 + -parent.ca) * (parent.globalmult / 5)) * (((Image.width*Image.pixel_aspect) / 102.4) / 20)"}}
blur_scale 0
filter Notch
name IDistort7
xpos 142
ypos 1931
disable {{"parent.ca >= 0"}}
}
set N26303ea0 [stack 0]
Merge2 {
inputs 3+1
operation average
name Merge10
xpos 339
ypos 1988
disable {{"parent.ca >= 0"}}
}
push $N262db850
push 0
push $N262edbc0
push $N26303ea0
Merge2 {
inputs 3+1
operation plus
name Merge11
xpos 142
ypos 1987
disable {{"parent.ca >= 0"}}
}
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
name Copy3
xpos 239
ypos 2069
disable {{"parent.ca >= 0"}}
}
push $N262cb5c0
Dot {
name Dot2
xpos 852
ypos 1841
}
set N26335760 [stack 0]
Remove {
operation keep
channels {-rgba.red rgba.green -rgba.blue none}
channels2 forward
channels3 alpha
name Remove4
xpos 818
ypos 1893
disable {{"parent.ca <= 0"}}
}
IDistort {
channels rgba
uv forward
uv_scale {{"((1 + parent.ca/2) * (parent.globalmult / 5)) * (((Image.width*Image.pixel_aspect) / 102.4) / 20)"}}
blur_scale 0
filter Notch
name IDistort2
xpos 818
ypos 1930
disable {{"parent.ca <= 0"}}
}
set N26341710 [stack 0]
push 0
push $N26335760
Remove {
operation keep
channels {-rgba.red -rgba.green rgba.blue none}
channels2 forward
channels3 alpha
name Remove5
xpos 917
ypos 1892
disable {{"parent.ca <= 0"}}
}
IDistort {
channels rgba
uv forward
uv_scale {{"(parent.globalmult / 5) * (((Image.width*Image.pixel_aspect) / 102.4) / 20)"}}
blur_scale 0
filter Notch
name IDistort3
xpos 917
ypos 1930
disable {{"parent.ca <= 0"}}
}
set N26353a80 [stack 0]
push $N26335760
Remove {
operation keep
channels {rgba.red -rgba.green -rgba.blue none}
channels2 forward
channels3 alpha
name Remove3
xpos 720
ypos 1893
disable {{"parent.ca <= 0"}}
}
IDistort {
channels rgba
uv forward
uv_scale {{"((1 + parent.ca) * (parent.globalmult / 5)) * (((Image.width*Image.pixel_aspect) / 102.4) / 20)"}}
blur_scale 0
filter Notch
name IDistort1
xpos 720
ypos 1931
disable {{"parent.ca <= 0"}}
}
set N26365dd0 [stack 0]
Merge2 {
inputs 3+1
operation average
name Merge4
xpos 917
ypos 1988
disable {{"parent.ca <= 0"}}
}
push $N26341710
push 0
push $N26353a80
push $N26365dd0
Merge2 {
inputs 3+1
operation plus
name Merge3
xpos 720
ypos 1989
disable {{"parent.ca <= 0"}}
}
Copy {
inputs 2
from0 rgba.alpha
to0 rgba.alpha
name Copy1
xpos 827
ypos 2069
disable {{"parent.ca <= 0"}}
}
push $N262cb5c0
IDistort {
channels rgba
uv forward
uv_scale {{"(parent.globalmult / 5) * (((Image.width*Image.pixel_aspect) / 102.4) / 20)"}}
blur_scale 0
filter Notch
name IDistort4
xpos 528
ypos 1951
disable {{"parent.ca > 0"}}
}
Switch {
inputs 3
which {{"parent.ca < 0 ? 2 : parent.ca > 0"}}
name Switch1
xpos 528
ypos 2073
}
Keymix {
inputs 3
channels rgba
name Keymix2
xpos 528
ypos 2209
disable {{"!\[exists parent.input1] & !\[exists parent.input2]"}}
}
ShuffleCopy {
inputs 2
in alpha
red red
out alpha
name ShuffleCopy1
xpos 528
ypos 2317
disable {{"parent.affectalpha > 0"}}
}
Remove {
operation keep
channels rgba
name Remove2
xpos 528
ypos 2343
}
Switch {
inputs 2
which {{"parent.heatoutput == 2 ? 0 : parent.heatoutput"}}
name Switch3
xpos 528
ypos 2418
}
Crop {
box {0 0 {Image.width} {Image.height}}
crop false
name Crop1
xpos 527
ypos 2504
}
Output {
name Output1
xpos 527
ypos 2591
}
push $N26056510
Ramp {
output none
p0 {960 540}
p1 {960 840}
name WindRamp
xpos 662
ypos -875
hide_input true
}
end_group