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 9 de 10 · Atractores extraños en la GPU

Blending aditivo

Los puntos suman luz. Densidad = brillo.

Los puntos no se tapan: suman su luz. Donde se amontonan miles, el color se acumula y brilla. Densidad = brillo. Así nace ese glow de nebulosa, sin postproceso.

blendFunc(SRC_ALPHA, ONE)Blending aditivo. Cada partícula agrega luz en vez de reemplazar. La base de todo lo que brilla.
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