Tag Archives: Email

TouchDesigner | Email | Cube Faces

Original Email – Thu, Jul 23, 2015 at 6:01 AM

Hi Matthew,

i love to work along your tutorials and learn more  about my best new friend since last year “Touchdesigner”. Theres is one idea i take with me. thought about a cube geometry with different pictures on each side. thats for the moment no problem, but how can i get the pictures changing automatically after a few seconds out of a folderDat. Any ideas?

Reply – Thu, Jul 9, 2015 at 12:10 AM

There are countless ways that you might try to solve this problem – some will scale better than others. The example included here, does well for 1-5 cubes, but probably wouldn’t scale well for more than 10. At 10 or more, you’d probably want to consider some  of the challenges of instancing in a slightly different way.


At any rate, here’s an example with several different considerations. The first is just placing different numbers of the different sides of a cube using a cube map.

The second is placing different images.

The third takes the contents of a folder DAT and changes all of the faces of the cube simultaneously. Every three seconds all of the images change.

The fourth example randomly changes the face of the cubes – both the order in which faces change is random, as is the selection of images. The images are shuffled so that you’re only likely to see as few repeated images as possible. I don’t know how strong your python is, but when you look at this example you’ll see that I wrote several functions in an embedded module that handle all of the logic of this operation.


You can download the example file from GitHub – cube.zip


TouchDesigner | Email | Realtime DNA


Original Email – Mon, Jun 22, 2015 at 11:53 PM

First of all.. Thank you for the knowledge , that you share – It is great . I watch all your tutorials in Youtube and they help me a lot . I would like to ask for a tutorial or advice how to make something in Touchdesigner . Its a Audio reactive DNA . I have seen tutorials for Qaurtz composer and i have done it there . I found one in the TD forums , but its not so good in a way that there is a limitation in the twisting of it .

this is mine in QC. if you find it interesting enough to be recreated in TD it would be great.
Thank you .

Reply – Thu, Jul 9, 2015 at 11:30 PM

Sorry for the late reply, I was out of the country when you initially wrote and have been playing catch up with email since I returned.

This is an interesting challenge, and was fun to re-create in TouchDesigner. I didn’t work on the audio reactive components at all – I’ll leave that to you to explore. You should be able to see how this is set up with some instancing and lighting to create a dynamically changing scene. I think there’s a bit more to play with in terms of rendering and layering, but this should be a solid starting point for you.

I hope this helps you get moving in the right direction.



Download the example from GitHub – DNArender.toe

TouchDesigner | Email | Level of Detail


Original Email – Tue, Jul 7, 2015 at 10:27 PM

Hi Mathew, I’m a 3D artist trying to learn touch designer and your videos have made a huge difference for me (I’ve been at it for a while), you also even helped me on the forums recently figure out how to control rotation of my instances along a curve. (if you’d like to see the finished version of that project by the way you may here:

What I desperately want to learn how to do now is build an LOD system based on distance to the camera that would change the material and replace the geo with a polyplane textured to look like the full res geometry or along those lines. In general i’m having a lot of issues figuring out exactly how to optimize my scene, even after extensively cleaning and rebuilding some of my networks I only noticed minuscule performance changes. I would greatly appreciate any advice you may have on this subject? Thank you so much for your wonderful website!

Reply – Thu, Jul 9, 2015 at 12:10 AM

I’m glad all of the tutorials have been useful – I certainly enjoy making them.

Optimization is one of the hardest parts of working with touch, and I certainly feel your frustration in trying to get a system up and running that’s rendering high quality visuals at a respectable frame rate.

If you haven’t had a chance yet, I highly recommend reading through the Optimizing for Geometry for Rendering article on the wiki. I frequently return to that piece of documentation when I’m stuck.

Also look at:

The better your understanding of how Touch is rendering, the easier it becomes to think about how you optimize and reorganize your scenes. A general rule of thumb that’s important to keep in mind is also the importance of translating objects at the Geo level, rather than performing transformations or changes to SOPs (sorry if this is something you’re already thinking about). Geos are computed on the GPU, while SOPs are computed on the CPU – this is something that will make or break you. The less you’re actively cooking your SOPs the better your performance will be (in general). This also makes it extremely important to understand instancing (and I’d include texture instancing in here as well). Without seeing any of your scenes, it’s hard to tell you where your bottlenecks are, so these are mostly my best guesses.

When possible, use CHOPs for your animation and control. DATs and Python are excellent additions to TouchDesigner, but in general CHOP math is much faster – calling and interpreting your scripts is slower (generally, though not always) than the hard coded operations performed CHOPs.

Don’t forget that the performance you see in the network viewer is always slower than when you’re in perform mode. It’s hard to know exactly how well you’re performing, unless you add a performance monitor to your output window so you can watch your frame count while you’re not rendering your programming environment.

Remember that Touch is a pull based system, not a push system. Only the computation needed for rendering the scene is run – this, however, can get you into trouble if you’re using complex sets of composites and crossing elements. In general, I try to always use select operators when possible, rather than ins and outs. It’s also a good idea to think about deck systems (AB crossing) when possible.

Finally, your question about LOD systems. I haven’t done much with this, so I’m doing a bit of guessing here. In the attached TOE file there are two different examples – project1 and project2. In both projects, make the Container’s viewer active, and click on the geometry and then on empty space.

Project 1 takes the tack of adjusting the level of detail for the selected geometry in relation to the distance from the camera. In general, I don’t know that this is a good approach. SOPs are the most expensive operators, and my best guess is that this approach wouldn’t necessary scale. I don’ t know that for sure, but that’s my hunch.

Project 2 takes the approach of subbing in a high resolution image for a piece of geometry based on camera distance. This would take some futzing, and would get complicated the more complex your scene is… but without knowing what direction you’re headed exactly – this is my best guess at how you might think about it.

Hope this pushes you in the right direction… or at least in a direction.

Keep up the good work – your video looks awesome.


Download the example from GitHub – LODinitialIdeas