1// Liquid Paint 2D plasma.
2// try: Iter=2, Amp=3 and zoom out a bit
3// Inspired by: http://glslsandbox.com/e#8067.3
4
5parametric
6    Iter :: int_slider[0,50] = 50;
7    Amp :: slider[0,3] = 0.6;
8    Speed :: slider[0,4] = 1;
9in
10make_shape {
11    colour [x,y,z,t] =
12        do
13            local p = [x,y];
14            local t = t*Speed;
15            for (i in 1..Iter)
16                p := p + Amp/i*sin(i*p.[[Y,X]] + t + [0,tau/2]) + 1;
17        in sRGB[0.5*sin(3.0*p.[X])+0.5, 0.5*sin(3.0*p.[Y])+0.5, sin(p.[X]+p.[Y])];
18    dist p = -inf;
19    bbox = [[-1,-1,0],[1,1,0]];
20    is_2d = true;
21}
22