Log inGet started
Package

particle_attractor.computeShader

README.md

particle_attractor

The custom particle update shader for the SIMULATION part, passed to particles.create { updateShader = ... } in place of the default. It keeps the default update shader's contract exactly — the same three bindings (particles, vertices, params), a 16-f32 particle stride, a 23-u32 vertex, and 4-vertex camera-facing quads — so it is a drop-in replacement.

Physics: each particle springs toward a target point on a shape blended between two parametric shapes, with a tangential swirl field layered on. Shape 0 is a serene human face, sculpted from a gaussian relief mask that sways toward the camera. Shape 4 is the word "OrigoZero" sampled from a 17-stroke vector font of lines and elliptical arcs, cumulative-length weighted so density is even along every stroke. Quads stretch along screen-projected velocity, so moving particles read as comet streaks and settled ones as round sprites.

The user block starts at params[32], which is user param 1:

IndexUser paramMeaning
321shape A index
332shape B index
343blend, 0..1
354spring strength
365swirl strength
376shape scale
387centre x
398centre y
409centre z