Lake Heckaman

Cymatics in TouchDesigner

Cymatics are an amazing phenomenon created by resonant waves, which cause sand or other small particles to form beautiful, self-organized patterns. A very common example of cymatics are Chladni plates, a special case of this cool effect! In this tutorial, we will first understand what cymatics are and how they function, then use simple math […]

Gray-Scott Reaction Diffusion in TouchDesigner (Part 2)

Take your reaction-diffusion system even further in this tutorial, which will teach you how to tweak your shader for easy tiling + rendering on a sphere, build a quick-and-easy preset system to keep track of different parameter settings, and add interaction with the mouse! Building on Part 1, available here: https://youtu.be/1k_uPHcV6BA Find me online! My […]

Gray-Scott Reaction Diffusion in TouchDesigner (Part 1)

Learn to simulate the awesome Gray-Scott reaction diffusion system in TouchDesigner, using GLSL shaders. We discuss the mathematical basis of the system, how to implement it in shaders, tiling, and how to color the simulation using any palette! Find me online! My portfolio: https://lakeheckaman.com Instagram: https://www.instagram.com/lake_heckaman Project Files on Patreon: https://patreon.com/water__shed Gray Scott Reaction Diffusion […]

Printing Still Images from TouchDesigner

This quick tutorial will show you how to use easy command line – style tools (along with TouchDesigner’s functionality) to print any TOP to any printer in real time. We will be making use of extensions and Engine COMPs in doing so, making it a great practice project for these topics too! Disclaimer: this one […]

Wavy Interference Patterns in TouchDesigner

Use simple equations to create complex, dynamic wave patterns, ripples and distortions with TouchDesigner! We will take a look at (just a little bit) of math and theory, using this to create a simple feedback system to generate our visual effect. Click-based interactions make it super easy to experiment with this system and extend it […]

Phyllotaxis in TouchDesigner, no GLSL!

A reprisal of my last tutorial on animating phyllotaxis in TouchDesigner, this time using only TOPs for anyone who feels more comfortable there! Project file available to all my Patreon members – all tiers!! Enjoy! Project files on Patreon: https://www.patreon.com/posts/109588861 My portfolio: https://www.lakeheckaman.com My Instagram: https://www.instagram.com/lake_heckaman Resources: Cool intuition building applet about zoetropes: https://andygiger.com/science/zoetrope/index.html Artist […]

Modelling Phyllotaxis and Zoetropes in TouchDesigner

Model the beauty and complexity of all sorts of plants using a simple – to – program algorithm in TouchDesigner! We will write a short GLSL shader that will implement 2D phyllotaxis, the process by which plants add new organs to their structure (e.g. petals, leaves, seeds, florets). This fascinating algorithm gives rise to many […]

Render Pick without MultiTouchInDAT in TouchDesigner

Use any sort of interaction data for render picking, without the MultiTouchDAT! I will show you how to use any chop-based data as a source for render picking, applying these interactions to alter a point cloud instance-by-instance! We will scale, move and recolor instances with ease. If you dont see the point cloud on file […]

Turbulent, Wavy Feedback System in TouchDesigner

Back to basics! In this video, we will create a wonderful feedback system from scratch, generating lovely waves and turbulent dynamics from any input texture (photo or video). I have included an additional post-processing .tox in the project file for my Patreons, available here: https://www.patreon.com/posts/turbulent-wavy-105027982 P.S: I forgot to mention in the video, but of […]

Render Pick DAT with Instances in TouchDesigner

Render picking is a super powerful tool for building everything from interactive visuals to fully-featured UI components. In this tutorial, I will review basic render picking usage (through the Render Pick DAT) and focus on how to use render picking to edit specific instances individually using the mouse. Learn how to change instance color, click […]

NYC's MTA Train Time Realtime in TouchDesigner!

In this video, I walk through a project that I have built to display real time train updates for any line or station in New York City’s subway system, using a publicly available API! We will walk though all the steps from API setup to textual display, and along the way touch on some higher-level […]

Finally, Gaussian Splatting in TouchDesigner!

An extension of my last Luma AI tutorial, in this video we revisit Gaussian Splatting in TouchDesigner, since a new tool is now available to the community thanks to Tim Gerritsen. Learn how to use the component in TouchDesigner, what a Gaussian Splat is anyway, and a few very simple (no-code) ways to begin animating […]

Domain Warping in TouchDesigner

An introduction to domain warping in TouchDesigner. We will first build some conceptual intuition and then write a domain warping shader from scratch using GLSL (not as scary as it sounds!) Project Files: www.patreon.com/water__shed Links: – https://iquilezles.org/articles/warp/ – http://st4yho.me/domain-warping-an-interactive-introduction/ – https://darienbrito.com/portfolio/pigments/ – https://palmdrop.site/nodes/domain-warping 00:00 – Start 01:40 – Literature Review 03:58 – Domain Warping Intuition […]

Shadertoy to TouchDesigner: Porting shaders with several buffers

In this tutorial we will port a shader with several buffers from Shadertoy to TouchDesigner. Porting hese multipass shaders will require a little extra infrastructure, but is easier than it seems! Project files on Patreon: https://www.patreon.com/posts/98403682 My Patreon page: www.patreon.com/water__shed Shadertoy shader: https://www.shadertoy.com/view/4dcGW2 Porting a single buffer shadertoy shader: https://www.youtube.com/watch?v=IFycGdOv9oU 00:00 Intro 03:06 Single Buffer […]

Luma AI in TouchDesigner – Import Geometry, Point Clouds, Environment Maps and more!

Bring your Luma AI reality captures to TouchDesigner in this easy, no code tutorial! I will go through how to import point clouds, geometry (obj and usdz), as well as 360 images (HDR environment maps) into TouchDesigner with just a few clicks, and how to render them to achieve physically based lighting effects like reflections […]

TouchDesigner Quick Tips: Inline Python Expressions for Complex Parametrization

Start to unlock the true power of TouchDesigner by leverage all sorts of simple python expressions inline in Operator parameters. These tricks will let you do things easily with python, directly in parameter expressions, when doing so in operators might be quite difficult. While these are certainly not the only python expressions that can be […]

GLSL Materials in TouchDesigner: Porting from WebGL

Take your vertex and fragment shader skills to the next level with custom GLSL Materials in TouchDesigner. This tutorial gives a gentle introduction to the concepts of GLSL Materials in TD by porting a shader from WebGL. We discuss each part of the shader pipeline, analogous structures in WebGL vs TouchDesigner, and end up with […]

Stream iPhone Camera to TouchDesigner

In this tutorial we create a mobile interactive system using a phone (iPhone or Android), OBS Studio and Mediapipe. This pipeline is free, robust and scalable, helping you develop and prototype interactive visualizatiosn on the go, even when you dont have all your gear! Links: Fluid Simulation: patreon.com/posts/premium-patreon-80586341 Mediapipe: https://github.com/torinmb/mediapipe-touchdesigner/releases/tag/v0.3.3 OBS: https://obsproject.com/ OBS Iphone Cam […]

TouchDesigner Tiled Grid Virtual Canvas Installation – Transitions

In this tutorial, we build the last part of an installation in TouchDesigner that will transition between several generative scenes, all displayed on an interactive virtual canvas for added depth! In this episode add another layer of tiles and explore Draw Priority rendering, an advanced technique that allows the selective application of different MATs to […]

Virtual Screen Installation – Dynamics and Distortion

In this tutorial, we build the second part of an installation in TouchDesigner that will transition between several generative scenes, all displayed on an interactive virtual canvas for added depth! In this episode we will build on our prior work, distorting the canvases we created in Part 1. Using noise and a couple custom GLSL […]

Virtual Screen Installation – Perfect Mosaic Tiles

In this tutorial, we build the first part of an installation in TouchDesigner that will transition between several generative scenes, all displayed on an interactive virtual canvas for added depth! In this episode we will create the framework of the virtual canvas, which is a tiled grid mapped with some pixel perfect texture offsetting to […]

Vertex Shaders 03: Next Level Feedback Effects in TouchDesigner!

Vertex shaders again! In this tutorial, we will look at how to build a cool render-based feedback loop in two ways, using SOPs (slow!) and then vertex shaders (fast!). Project files on Patreon: www.patreon.com/water__shed I am including an updated fluid sim .tox in the project file too, enjoy 🙂 TITLE: Timeline 1 FCM: NON-DROP FRAME […]

TouchDesigner Quick Tips: GLSL for Normalization and Mapping Instances to a Grid

In this super quick video, I show two amazingly helpful GLSL tricks, both of which are just ONE LINE of code! Project files available: https://www.patreon.com/water__shed 00:00 – Start 00:40 – GLSL Normalize 05:44 – Easy UV Mapped Instancing

TouchDesigner Quick Tips: Execute DAT

Use an Execute DAT to open your project in perform mode, and load any other config settings on startup (or save)! Project Files: https://www.patreon.com/water__shed 00:00 – Start 00:23 – Execute DAT

TouchDesigner Quick Tips: Read Sequence of Animation Files or Textures in Real Time

Use this quick technique to render out heavy animations (from Houdini, C4D or any other 3D software), as well as renders from TouchDesigner, and load them for playback in realtime! Meant as a follow up to https://youtu.be/kPOGFmAnum4 Project files available on Patreon: https://www.patreon.com/water__shed 00:00 – Start 03:28 – Component Creation 05:16 – Constructing Filepath with […]

TouchDesigner Quick Tips: Render Animation to Sequence of Images

Learn how to easily render an animation or texture to image files for usage offline, using just a tiny bit of python! Project files: www.patreon.com/water__shed 00:00 – Start 01:16 – Setup 03:47 – Saving MovieFileOut to Custom File Path 07:53 – Adding a timer

TouchDesigner Quick Tips: Inline Python Expressions for Complex Parametrization

Start to unlock the true power of TouchDesigner by leverage all sorts of simple python expressions inline in Operator parameters. These tricks will let you do things easily with python, directly in parameter expressions, when doing so in operators might be quite difficult. While these are certainly not the only python expressions that can be […]

Project Update: Swapping LiDAR and Kinect for Leap Motion in TouchDesigner (Part 2)

In this video, I will build on a prior tutorials and discuss in depth how to substitute one type of sensor for another. By following some simple best practices, your networks can become easy to use with any type of sensor data! In this section, we add a Leap Motion controller to the mix and […]

TouchDesigner Vertex Shaders 02 – Kalaidescopic Layers

We continue our exploration of vertex shaders in TouchDesigner in this video, writing a custom Vertex and Fragment shader for a GLSL material that will allow us to create and composite layers of a texture to generate kalaidescopic visuals. I have included the boilerplate code for the GLSL rotation matrix below in the description, as […]

Particle SOP in TouchDesigner – Interactive Metaball Forces and Surface Attractors

Use the built-in power of TouchDesigner by leveraging the Particle SOP for quick, easy interactive particle systems. In this tutorial we will take a tour of the Particle SOP, then focus on using Metaball and Force SOPs, along with the Point SOP to precisely manipulate our geometry attributes. Use the mouse and Panel CHOP to […]

Generative Maps in TouchDesigner: UIs with the Replicator COMP

Create dynamic generative maps in TouchDesigner with this 3 part tutorial series. We will use a touchdesigner implementation of the Jump Flood algorithm (s/o David Braun) and a Replicator COMP to make a number of map layers complete with nation boundaries and road line! Project files on patreon: www.patreon.com/water__shed 00:00 – Start 00:29 – Adding […]

Generative Maps in TouchDesigner: Creating Map Layers with Replicator COMP

Create dynamic generative maps in TouchDesigner with this 3 part tutorial series. We will use a touchdesigner implementation of the Jump Flood algorithm (s/o David Braun) and a Replicator COMP to make a number of map layers complete with nation boundaries and road line! Project files on patreon: www.patreon.com/water__shed 00:00 – Start 01:01 – Overview […]

Generative Maps in TouchDesigner: Jump Flood Algorithm

Create dynamic generative maps in TouchDesigner with this 3 part tutorial series. We will use a touchdesigner implementation of the Jump Flood algorithm (s/o David Braun) and a Replicator COMP to make a number of map layers complete with nation boundaries and road line! Project files on patreon: www.patreon.com/water__shed

Slamtec RPLiDAR in TouchDesigner

Turn any surface into an interactive multi-touch surface using a Slamtec RPLiDAR A1M8 sensor. This LiDAR sensor is one of the cheapest models out there but still provides a reasonable refresh rate and can create some stunning interactions. In this video I will go over unboxing and wiring of the Slamtec lidar sensor, use an […]

Bikeshare API Visualization in TouchDesigner: Part 2

In this tutorial we use some simple Python (assisted by ChatGPT) to access and import real time bikeshare data from anywhere in the world via API. In Part 1 we will use jupyter notebooks, create a stand-alone python program that runs as its own process, and then in Part 2 we will leverage OSC to […]

Bikeshare API Visualization in TouchDesigner

In this tutorial we use some simple Python (assisted by ChatGPT) to access and import real time bikeshare data from anywhere in the world via API. In Part 1 we will use jupyter notebooks, create a stand-alone python program that runs as its own process, and then in Part 2 we will leverage OSC to […]

TouchDesigner Quick Tips: Timer CHOP with Segments DAT

Content management system issues? Ever need a custom timer with a bit more functionality? In this video we will look at using a DAT table to pass data to our Timer CHOP, as well as callbacks and some other tools to build richly featured media players inside TouchDesigner. I originally learned about a similar technique […]

Geospatial Data Visualization with TouchDesigner, Part 2: Point Cloud Rendering

In this project, we build a geospatial data pipeline to power a real-time visualization built in TouchDesigner. We will look at a number of applications and effects, visualization with instancing and render picking, and integrate various data sources along the way. Part 2 outlines a super-lightweight rendering setup for point clouds! Project files: www.patreon.com/water__shed 00:00 […]

TouchDesigner Quick Tips: Create Custom Midi Map for Controller

In this short Touchdesigner Tutorial, we will learn how to create a Midi Map for any Midi controller, allowing you to use your own hardware with TouchDesigner

TouchDesigner Dynamic Particle System Part 7: Creative Uses!

Bonus! I couldn’t help myself and created this final installment for the Particles Series with motion tracking and attractors. In this short video, we will use attractors to build a spiral staircase rising from our ocean of particles! Project files available on Patreon: www.patreon.com/water__shed

TouchDesigner Dynamic Particle System Part 6: Kinect Mapping UI and Wrap Up

In this new project series, we will build a particle system controlled by multiple attractor systems, including autonomous agents! We will also learn some cool, off-the-beaten path post processing techniques and look at python for project extensions! In Part 6, we dive back into the Kinect mapping component we worked on last time, finishing off […]

Touchdesigner Tutorial: Lake of Acid

This is a 2D noise and feedback texture that looks awesome and is a fairly small network. This builds on reaction diffusion looks I’ve shown in past tutorials. Check it out to see! Project files for this and a growing library of tutorials, plus early access to new ones are available on my Patreon: patreon.com/owsley_wylyfyrd […]

Geospatial Data Visualization with TouchDesigner, Part 1: Open Street Maps

In this project, we build a geospatial data pipeline to power a real-time visualization built in TouchDesigner. We will look at a number of applications and effects, visualization with instancing and render picking, and integrate various data sources along the way. Part 1 includes using qGIS software to bulk download Open Street Map data, Houdini […]

TouchDesigner Dynamic Particle System Part 5: Interactivity and Procedural Kinect CHOP Workflow

In this new project series, we will build a particle system controlled by multiple attractor systems, including autonomous agents! We will also learn some cool, off-the-beaten path post processing techniques and look at python for project extensions! In Part 5, we take a dive into the Kinect CHOP and depart from visual effects to build […]

TouchDesigner Quick Tips: Create Custom Pars with Dynamic Dropdown Lists

Ever wanted to create a custom parameter that would allow you to select from a list of channels, like when you are setting instance transforms or selecting active network ports? In this quick video I will show you how to point a dynamic dropdown parameter at any list of channels to make creating custom functionality […]

TouchDesigner Dynamic Particle System with Attractors Part 4: Autonomous Attractors

In this new project series, we will build a particle system controlled by multiple attractor systems, including autonomous agents! We will also learn some cool, off-the-beaten path post processing techniques and look at python for project extensions! In Part 4, we use the Autonomous Agent component we created in Part 1, adding these agents as […]

TouchDesigner Dynamic Particle System with Attractors Part 3: Crisp Trails with Texture 3D TOP

In this new project series, we will build a particle system controlled by multiple attractor systems, including autonomous agents! We will also learn some cool, off-the-beaten path post processing techniques and look at python for project extensions! In Part 3, we create crisp particle trails using a Texture 3D top and write our own GLSL […]

TouchDesigner Dynamic Particle System with Attractors Part 2: Particles with Perspective

In this new project series, we will build a particle system controlled by multiple attractor systems, including autonomous agents! We will also learn some cool, off-the-beaten path post processing techniques and look at python for project extensions! In Part 2, we create a particle system with a cool perspective view and add some functionality to […]

TouchDesigner Quick Tips: Shadertoy Port to TouchDesigner

Learn how to port shaders from Shadertoy to TouchDesigner! Project Files available on Patreon: patreon.com/water__shed

TouchDesigner Dynamic Particle System with Attractors Part 1: Autonomous Agents

In this new project series, we will build a particle system controlled by multiple attractor systems, including autonomous agents! We will also learn some cool, off-the-beaten path post processing techniques and look at python for project extensions! In Part 1, we explore the overall project and then jump right in designing an autonomous agent system! […]

PBR Render Everything in TouchDesigner!

Ever felt your 2d textures were washed out, glowing, or flat? Use PBR textures to quickly design custom materials that will make your 2D work pop. Project files available on patreon: patreon.com/water__shed

Premium Patreon Exclusive: Fluid Simulation TouchDesigner .tox

Dropping my fluid sim .tox for my premium subscribers – in this video I give a walkthrough of the simulation (dont worry, we won’t be doing any coding) and its major parts. Then I demo the COMP I have created to use it in my projects, reviewing all inputs, outputs, and parameters. Finally I run […]

Pixel Sorting in TouchDesigner Part 2: Dynamic Anisotropic Detail

Bring your pixel sorting to life with multi-layered dynamics! In this tutorial we build on the basic pixel sorting component from last time, adding texture and details that vary from place to place across the image. We also see examples of using Python list comprehension and Python conditionals inline to control operator parameters. Project files […]

Pixel Sorting in TouchDesigner

In this tutorial we will learn how to use some pretty simple GLSL to create a cool pixel sorting effect!

Terrain Particles 4: Bringing it all together

In the final part of this series on creating terrain-inspired particle systems in TouchDesigner, we create a variety of effects using the techniques developed in prior tutorials and add interaction to our project via Kinect and webcam. Project files available on patreon: patreon.com/water__shed

Terrain Particle System – Part 3: EXR Files and Procedural Terrain in Houdini

Learn to import EXR files (common format for heightmaps/terrain data) and use them to drive particle systems. Build your own using detailed and physically realistic terrain models in a few clicks using a free Houdini Apprentice license (its easy, I promise). Or just use the EXR file I provide to follow along as we import […]

Part 1: Procedural Terrain Generation in TouchDesigner

Learn how to create procedural terrain heightmaps based on the topology of real ranges, a technique ported from Texturing and Modeling: A Procedural Approach (which I highly recommend for those looking to learn). Over this set of tutorials I will build on this technique and others to create an interactive particle system using various methods […]

Realtime Caustics in TouchDesigner – Part 2

In this tutorial I expand on Part 1, focusing on render quality and performance.

Realtime Caustics in TouchDesigner with Easy GLSL

Caustics form from light refracted through a transparent medium (like the pretty patterns that form on the bottom of a swimming pool). This tutorial will outline the physics involved and show you how to create this effect in TouchDesigner using only a handful of lines of GLSL code. Resources: Ray / Plane intersection: https://www.scratchapixel.com/lessons/3d-basic-rendering/minimal-ray-tracer-rendering-simple-shapes/ray-plane-and-ray-disk-intersection.html Caustics […]

TouchDesigner Quick Tips – TOP Viewer

Use the TOP viewer’s viewport tools to improve workflow

Real Time Weather API in TouchDesigner

In this video we implement a weather API ( https://www.visualcrossing.com/) in TouchDesigner and explore how one can use real-time weather data to control visual effects. Example of usage in a full project: https://lakeheckaman.com/Malformed-1 Links: – https://www.visualcrossing.com/resources/blog/how-to-load-historical-weather-data-using-python-without-scraping/ – https://docs.python.org/3/library/json.html#module-json – https://docs.python.org/3/library/urllib.request.html#module-urllib.request

Custom Keyboard Shortcuts in TouchDesigner with the UI Class

The motivation: It is way too hard to toggle display background TOPs on/off, which was an annoying workflow issue for a long time. With this simple tool, we can create a keyboard shortcut to quickly solve this issue (and many others!) As Derivative is fond of pointing out, TouchDesigner is built with TouchDesigner, which means […]