learn GLSL from zero
ToolsCrea con shadersShader MakerCrea shaders gratis en líneaToolkitObras de shaders listas para tu webSketcher LabPinta el hero de tu landing con shaders3D StudioEl editor Three.js en tu navegador
GamesJuega con shadersOnomatoShaderEscribe una palabra y explótalaThe WatcherUn ojo que te sigueAetherVidrio líquido con un ojo adentroBloomcoreUna palabra hace crecer un jardín de luzPyrokineAvienta fuego a la paredVoltaicLa pirámide lanza rayosSurfSurfea un océano de shader

Lección 8 de 10 · Atractores extraños en la GPU

Color por velocidad

Rápido = blanco (el eje), lento = azul.

Todo blanco es plano. Pintamos cada partícula por su velocidad: donde el punto vuela (el eje) va a blanco; donde se arrastra (los lóbulos) a azul profundo.

La física se vuelve color.

length(attractor(p))El tamaño de la velocidad. Ese número manda el color: rápido → claro, lento → oscuro.
PruebaMueve Estira y Infla aquí abajo: editan d y a de la ecuación. La forma se reconfigura al instante.

El código

vec3 attractor(vec3 p){
  // Aizawa · mueve los números y mira
  float a=0.95, b=0.70, c=0.60, d=3.50, e=0.25, f=0.10;
  float dx = (p.z - b)*p.x - d*p.y;
  float dy = d*p.x + (p.z - b)*p.y;
  float dz = c + a*p.z - p.z*p.z*p.z/3.0
           - (p.x*p.x + p.y*p.y)*(1.0 + e*p.z) + f*p.z*p.x*p.x*p.x;
  return vec3(dx, dy, dz);
}
close