WebGL Mandelbrot
Mandelbrot using shaders
This is a Mandelbrot zoomer done using shaders. See below for code.
The shader code
Vertex shader
attribute vec3 position;void main(void) {gl_Position = vec4(position, 1.0);}
Fragment shader
precision mediump float;uniform float width;uniform float zoom;void main(void) {float zx = 0.0;float zy = 0.0;float x;float y;gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);for(int i = 0; i < 50; i++) {x = zx * zx - zy * zy;y = zx * zy;if(zx * zx + zy * zy > 4.0) {gl_FragColor.r = sin(float(i) / 10.0);gl_FragColor.b = cos(float(i) / 10.0);break;}zx = x + gl_FragCoord.x / width - zoom;zy = 2.0 * y + gl_FragCoord.y / width;}}