Mastering GLSL in TouchDesigner, Lesson 14: Intro to GLSL Simulations (2)
In this lesson, we refine our simulation workflow by using structs, functions, and multi-buffer strategies to create scalable, efficient, and maintainable GLSL simulations. By structuring particle attributes inside custom data types (structs) and implementing modular update functions, we improve code readability and simulation complexity without unnecessary computation overhead.
π Key Topics Covered:
β
Structs in GLSL β Storing position, velocity, acceleration, and color efficiently
β
Function Return Types & Parameters β Using in, out, and inout for particle updates
β
Best Practices for GPU Simulations β Optimizing with minimal branching & efficient loops
β
Multi-Buffer Storage β Organizing large-scale simulations across multiple output buffers
π¨ Exercises & Challenges:
π οΈ Create a flow-field particle system that reacts to Perlin noise
π οΈ Implement a strange attractor simulation (Halvorsen, Aizawa, etc.)
π οΈ Optimize a particle system with instancing and orientation-based movement
π οΈ Debug using pixel viewers & point clouds in TouchDesigner
π Refine your GLSL simulation skillsβwatch now!
π Find me online:
π Project Files & Patreon: https://www.patreon.com/water__shed
π Portfolio: https://www.lakeheckaman.com
π· Instagram: https://instagram.com/lake_heckaman
00:00 β Intro β GLSL Simluations in TouchDesigner (2)
01:09 β GLSL βStructsβ
02:48 β GLSL Functions, Types, Arguments
06:33 β GLSL Programming Best Practices for Simulations
11:06 β A word on debugging shaders in TouchDesigner
11:55 β Begin TouchDesigner Examples
14:31 β Advanced Particle System Design
28:00 β Age / Respawn Particles
34:54 β Oriented particles
37:47 β Lorenz Attractor System
45:37 β Exercises