GPU Particle Reconstruction System
- TypeScript
- WebGL2
- GLSL
- Canvas 2D
En producción en sevencontext.com
Qué es
Un sistema de partículas acelerado por GPU que reconstruye formas: imágenes SVG, tipografía y objetos 3D en movimiento. Lo desarrollé para la web de SevenContext, donde está en producción.
El problema
La web necesitaba efectos visuales llamativos sin que la página lo pagara en rendimiento. Con miles de partículas moviéndose a la vez, la CPU no da abasto, así que el cálculo tenía que ir a la GPU.
Lo difícil
- Los shaders. Al principio no me cuadraba ninguno, y depurar GLSL es lento: no hay consola, solo lo que ves en pantalla.
- La distribución. Pintar partículas es sencillo; colocarlas para que reconstruyan una forma sin amontonarse ni dejar huecos no lo es.
- La escala. Depende de lo que se represente: tres o cuatro mil partículas bastan para una imagen SVG, y un objeto 3D en movimiento necesita unas treinta mil.
- El móvil. Con esa carga, un teléfono se cae si no controlas cuántas partículas mueves a la vez, y buena parte del trabajo fue ajustar eso.
Resultado
Funciona en producción en la web de SevenContext, también en móvil.