https://github.com/steven-tbd/touchdesigner-generative-particle-system
A TouchDesigner project that evolves a static GLSL vertex displacement shader into a dynamic, animated particle system with procedural motion and feedback loops.
https://github.com/steven-tbd/touchdesigner-generative-particle-system
animation creative-coding feedback-loop generative-art glsl particles real-time-graphics shaders touchdesigner
Last synced: 9 days ago
JSON representation
A TouchDesigner project that evolves a static GLSL vertex displacement shader into a dynamic, animated particle system with procedural motion and feedback loops.
- Host: GitHub
- URL: https://github.com/steven-tbd/touchdesigner-generative-particle-system
- Owner: steven-tbd
- Created: 2025-07-23T05:13:39.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2026-05-20T00:20:54.000Z (24 days ago)
- Last Synced: 2026-05-20T03:21:14.009Z (23 days ago)
- Topics: animation, creative-coding, feedback-loop, generative-art, glsl, particles, real-time-graphics, shaders, touchdesigner
- Homepage: https://stevenmbenton.com/generative-particle-system/
- Size: 16.2 MB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TouchDesigner Generative Particle System
A TouchDesigner project that extends the [GLSL Vertex Displacement](https://github.com/steven-tbd/Touchdesigner-GLSL-vertex-displacement) shader into an animated particle system driven by texture feedback and procedural motion.
This work was reposted by the official TouchDesigner Instagram account.

## How It Works
The system uses the same GLSL MAT from the GLSL Vertex Displacement project. The sphere geometry is converted into a particle system via a `Convert SOP`, replacing solid geometry with individual points that the shader displaces.
Before reaching the shader, the source texture passes through a switchable effects module inside `container_fx`. The module includes a feedback loop, a radial blur, and a light tunnel effect. Because the feedback loop feeds the texture's previous state back into itself, the texture's history continuously shapes the particle positions.
An LFO drives the `dispScale` uniform, creating a pulsing animation without keyframes. A second feedback loop on the final rendered output adds temporal blurring and visual echoes.
## Usage
Open the `.toe` file in TouchDesigner. The animation runs automatically. Swap the source image using the `Movie File In TOP` inside `media_input`. Switch between pre-processing effects inside the `container_fx` component.

## Links
- [Project Write-up](https://stevenmbenton.com/generative-particle-system/)