Implement mouse panning and streamline keyboard movement.
[mandelwow.git] / mandelwow.frag
1 #version 140
2 precision highp float;
3 in vec2 c;
4 in vec2 z;
5 out vec4 f_color;
6
7 void main() {
8     float zx = z.x;
9     float zy = z.y;
10     int maxiter = 64;
11     int iter = maxiter;
12     while (iter > 0) {
13         float zx2 = zx * zx;
14         float zy2 = zy * zy;
15         if (zx2 * zy2 > 4.0) {
16           float index = float(iter) / float(maxiter);
17           f_color = vec4(index, 0.1, 0.5 - index / 2, 0.8 - index);
18           return;
19         }
20         zy = zx * zy * 2.0 + c.y;
21         zx = zx2 - zy2 + c.x;
22         iter -= 1;
23     }
24     f_color = vec4((sin(z.y) + 1.0) / 2,
25                    (sin(c.y) + 1.0) / 2,
26                    (sin(c.x) + 1.0) / 2,
27                    1.0);
28 }