|
It does not appear your computer can support WebGL.
Click here for more information. |
// Author: Sol Sarratea @solquemal// Title: Julia 0//Numeros Complejosprecision mediump float;uniform float u_time;uniform vec2 u_resolution;// Multilicacion de vectores : // sean a,b vectores de 2 componentes se los puede pensar como numeros complejos. Luego:// a = ax + ay i, donde `ax` es la parte real y `ay` la parte imaginaria// b = bx + by i, donde `bx` es la parte real y `by` la parte imaginaria// La multiplicacion queda definida como : // a * b = (ax * bx - ay * bx) + ( ax * by + ay * bx ) i vec2 multC(vec2 a, vec2 b){ float re = a.x*b.x - a.y*b.y; float im = a.x*b.y + a.y*b.x; return vec2(re,im);}vec2 uv(){ /* Devuelve las posiciones del canvas en rango [-1.,1.]x[-1.,1.] */ vec2 pos = gl_FragCoord.xy/u_resolution; pos = pos *2.-1.; return pos;}void main() { vec3 color; vec2 pos = uv()*1.5; for (int i = 0; i < 100; i++) { //Iteramos la funcion: f(z) = z * z ; pos = multC(pos,pos); //Si ademas trasladamos, observar como cambia: //pos.x -= 0.7; //pos.y -= 0.27; //Coloreamos a cada iteracion color.rb += sin(pos*10.) * float(i); } gl_FragColor = vec4(color,1.);}