Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #@gui Cascading Self Glitching : fx_self_glitching_cascade, fx_self_glitching_cascade_preview(1)
- #@gui : Iterations = int(3,1,10)
- #@gui : Power = float(0,-5,5)
- #@gui : Bias = float(0,-255,255)
- #@gui : Negate = bool(0)
- #@gui : Operator = choice("Add","Multiply","Bitwise And","Bitwise Or","Bitwise Xor","Power","Reverse Power","Modulo","Reverse Modulo","Divide","Reverse Divide","Subtract","Reverse Subtract","Left Bitwise Shift", "ReverseLBS", "Right Bitwise Shift", "ReverseRBS","Average","Round","Reverse Round","Sine","Reverse Sine","Cosine","Reverse Cosine","Tangent (CPU-intensive)","Reverse Tangent (CPU-intensive)")
- #@gui : First shift target = point(50,50)
- #@gui : Cascade centre point = point(50,50)
- #@gui : Shift randomness = float(0.75,0,4)
- #@gui : Boundary = choice(3,"Zero","Nearest","Periodic","Mirror")
- #@gui : sep = separator(), Preview type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical","Duplicate top","Duplicate left","Duplicate bottom","Duplicate right","Duplicate horizontal","Duplicate vertical","Checkered","Checkered inverse"), Preview split = point(50,50,0,0,200,200,200,0,10,0)
- #@gui : sep = separator(), note = note("<small>Author: <i><a href="https://goo.gl/Ryf7Cv">David Tschumperlé</a></i>. Latest update: <i>2018/08/19</i>.</small>")
- fx_self_glitching_cascade :
- repeat $1
- repeat $! l[$>] split_opacity l[0]
- f "init(
- shift = ([w,h]-1)*([$8,$9]-[$6,$7]+(2*(u-0.5)*sqrt((($8-$6)^2)+(($9-$7)^2))*($10^3)))%;
- const sign = $4?-1:1;
- const boundary = $11;
- );
- val = sign*((2^$2)*j(shift) + $3);
- ($5==0?(val + i):
- $5==1?(val * i):
- $5==2?(val & i):
- $5==3?(val | i):
- $5==4?xor(val,i):
- $5==5?(val^i):
- $5==6?(i^val):
- $5==7?(val%i):
- $5==8?(i%val):
- $5==9?(val / i):
- $5==10?(i / val):
- $5==11?(i - val):
- $5==12?(val - i):
- $5==13?(val << i):
- $5==14?(i << val):
- $5==15?(val >> i):
- $5==16?(i >> val):
- $5==17?avg(i,val):
- $5==18?round(val,i,0):
- $5==19?round(i,val,0):
- $5==20?i*sin(val*2*pi/255):
- $5==21?val*sin(i*2*pi/255):
- $5==22?i*cos(val*2*pi/255):
- $5==23?val*cos(i*2*pi/255):
- $5==24?(i*tan(val*pi/255)):
- (val*tan(i*pi/255))
- )%255;
- "
- endl a c endl done done
- fx_self_glitching_cascade_preview :
- fx_self_glitching_cascade $*
- # gui_split_preview "fx_self_glitching_cascade $*",${-3--1}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement