Analysis updated 2026-05-18
Study how Three.js WebGPU compute shaders and StorageBufferAttribute work for GPU strand animation
Use the codebase as a reference for building audio-reactive WebGPU visualizations in Three.js
Fork the project to create a variation with different geometry or noise parameters for a creative installation
Learn how to structure a Three.js visual piece into feature modules for GPGPU, layers, audio, and GUI
| jeonghopark/collective-trajectories | x0cban/harness | abivan-tech/zvec-mcp | |
|---|---|---|---|
| Stars | 10 | 10 | 9 |
| Language | JavaScript | JavaScript | JavaScript |
| Setup difficulty | easy | hard | moderate |
| Complexity | 4/5 | 4/5 | 3/5 |
| Audience | designer | ops devops | developer |
Figures from each repo's GitHub metadata at analysis time.
pnpm only (enforced by only-allow pnpm), WebGPU requires a modern browser (Chrome 113+), falls back to WebGL2 otherwise.
Collective Trajectories is a real-time 3D visual art piece made with Three.js using a WebGPU renderer. It shows a sphere with hundreds of glowing filaments growing from its center outward to its surface. Each filament curves through space using curl noise, and a brightness pulse flows along each strand from center to tip. When a pulse reaches the surface, it triggers ripple rings that spread outward across the sphere. The outer shell of dots expands and contracts in response to a background audio track. The project uses WebGPU compute shaders through Three.js's experimental WebGPU renderer and TSL node system to calculate each filament's position and brightness directly on the GPU every frame. Rather than animating strands on the CPU, it writes to storage buffers on the GPU and reads them back for rendering. The project falls back to WebGL2 on browsers without WebGPU support. Visual layers are broken into modules: the line strands, soft glow halos using additive blending, surface ripples, a static dot shell suggesting the sphere's surface, and an opaque core sphere at the center. The core sphere blocks filaments behind it for genuine depth. Fog and fake depth-of-field effects add further depth cues, since glowing additive lines cannot grow physically thicker. The animation starts after clicking a button in the center of the screen, which also starts the original audio track included in the repository. An orbit control lets you drag to rotate the sphere. A debug GUI, disabled by default, exposes dozens of parameters for tweaking strand count, curl noise, pulse speed, ripple spread, glow intensity, and more. This is a creative coding project, not a reusable library or tool. It uses pnpm and Vite for development. Both the code and the audio are original works by the artist, released under CC BY-NC 4.0, which allows free non-commercial use with attribution.
A real-time 3D visual art piece built with Three.js WebGPU: glowing filaments radiate from the center of a sphere, pulse toward the surface, and react to background audio.
Mainly JavaScript. The stack also includes JavaScript, Three.js, WebGPU.
Free to use and modify with credit given to the artist, but commercial use requires prior written permission from the copyright holder.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly designer.
This repo across BitVibe Labs
Verify against the repo before relying on details.