C50
Variables x,y,z, t,u,v are set as follows;
x: ranges from 0...1 horizontally across the image
y: ranges from 0...1 vertically down the image
z: distance from center of image
t: time in seconds
u: ranges from -1...+1 horizontally across the image
v: ranges from -1...+1 vertically down the image
Opcodes available:
'x': push current x value
'y': push current y value
't': push current timer value
other variables available are 'u', 'v', 'z'
'X','Y','U','V','Z' sets the variables with to top stack entry
'*': (a * b),
'/': (a / b),
'-': (a - b),
'+': (a + b),
'p': perlin( a, b),
'w': wrapPerlin(a, b, c),
'W': wrapPerlin(a, b, c, d),
'e': smoothStep(a),
'E': smoothStep(a,b,c),
's': sin(a),
'c': cos(a),
'q': sqrt(a),
'l': log(a),
'~': abs(a),
'#': round(a),
'$': Math.floor(a),
'C': clamp(a),
'<': min(a, b),
'>': max(a, b),
'^': pow(a, b),
'a': atan2(a, b),
'r': random(),
'%': positiveMod(a, b),
'!': (1 - a),
'?': (a <= 0 ? 0 : 1)
'o': a xor b scaled by c; ((a*c) xor (b*c))/c
'P': push Pi
'd': duplicate the top stack entry
':': swap the top two stack entries
';': swap the top and third stack entries