Is this possible in TouchDesigner?- Rutt Etra/Vector Rescanning

Hello all,

I’m dipping my feet into touch designer, and I’m wondering if something like this is possible?

This video is from a company named LZX who makes a visual synthesizer, that does a technique called “vector rescanning” on a 2d image, and it just looks SO COOL. In order to achieve this typically, it requires several thousand dollars of equipment. I would be very surprised if this wouldn’t be possible 100% and more in a software environment, but I don’t really understand the process behind it. Would anybody be able to point me in the right direction for how I would achieve this? Would it require some GLSL wizardry? Or could I do it an easier way?

Edit:
I found this resource: https://rutt-cadetra.blogspot.com/2017/12/a-rutt-etra-design.html?m=1

Where he talks about the design elements and gives a diagram for how it works.

Some seem pretty obvious like the ramp, but I’m not sure what some of the components TD equivalents would be like the sync separator.

Hi, it’s definitely possible to achieve this in Touchdesigner and besides, you’re not the first interested in recreating this Rutt Etra Effect on the forum :slight_smile:
@elburz created one, the forum topic is here: https://forum.derivative.ca/t/rutt-etra-shader-component/7233
I also did an attempt years ago, when I started learning TD, topic is here: https://forum.derivative.ca/t/rutt-etra-synth-simulation/4959

The basic idea is to create horizontal lines on X-Y axis, color them with the video, then displace points of the line on Z axis based on the pixels color values. (sorry for the rough explanation)

One good starting point to build it from scratch might be this recent tutorial by Simon Alexander Adams : https://www.simonaa.media/tutorials/line-width

@sargentpilcher It is actually quite an easy tool to make with very basic GLSL skills. Our Rutt Etra FX component is not only very easy to use and powerful but also a great learning resource. I think the links on that page are a bit old (since we’ve updated our setups a few times) but you can now actually get the Rutt-Etra FX for free when you sign up for our email newsletter, it’s in the email that comes to you on the 2nd or 3rd day of signing up (we sprinkle a bunch of Christmas gifts over a few days to new members :slight_smile: ) You can sign up at the bottom of the page linked below if you’re interested and want to check out our tool:

https://interactiveimmersive.io/

@FM64 Thank you for the links! I actually did see the post from elburz before and even responded to it as his example is no longer there for download, but thank goodness he told me how I can get it! I haven’t had an opportunity to dive into the patch that you made, but I haven’t been able to get it to work yet (Not anything you did wrong, I’m a noob who’s in over my head).

Thank you for the link to Simons tutorial as that whole website looks like a :+1: resource! I think I’m going to try and work my way through that tutorial and will hopefully help me understand your toe file better.

@elburz Thank you so much!! I’ve signed up to your email list, and you guys have some impressive looking tutorials. Once I leave the beginner stage and become intermediate I will likely sign up for some of your courses. Until that file makes its way to me, I’m going to absorb as much info as I can because otherwise I won’t know how to use it when it makes its way to me. I’m looking forward to checking out the GLSL code for it.

Thank you all so much! This forum is so helpful! :slight_smile:

1 Like

One extra thing I’m curious to ask. I’m working through this tutorial recommended by FM64, https://www.simonaa.media/tutorials/line-width and it’s great! I do wish he would explain a bit more about WHY he was doing some of the things he’s doing, but it’s not as complicated as I had imagined.

Anyways, my question is one of resolution. The example I posted, which is made with analog equipment, has what appears to be an “unlimited” resolution. That is to say, the levels of granulation are so rediculously small. The mental frame that it’s easiest for me to explain/compare what I mean is to use audio (I’m a music guy learning touch designer). For example, the sample rate of audio needs to be roughly double the frequency that human beings can hear, in order to more accurately represent the recorded material. In the analog rendition, the “sample rate” of this audio is MUCH higher than what I’m able to achieve in touch designer. Here’s an example of what I’m talking about

The horizontal “Sample rate” is 350 (It’s what he set it at in the tutorial), and I raise it to 1,000 and the lines become a bit smoother, and it works fine. I raise it to 10,000 and it pretty much breaks, but I don’t understand why.

Have you tried increasing the rows number as well? I wonder if that would help, I haven’t seen that issue before.

1 Like

Hmm, yep I did try upping the rows as well and it’s pretty much the same problem. I have a theory that I haven’t had time to chase after yet as I’ve been obsessed with point clouds, but I THINK it has something to do with the chops and some kind of limitation in values or channels. I’m gonna go through the tutorial again from start to finish, and try to isolate it.

Hi, your topic motivated me to dive again into this cool effect, I updated it and you can find it in my Grimoire repo on Github.
I started from the awesome work of @archo-p “Psychescape” , cleaned up the GLSL material and added lot of comments in the vertex shader. Look at custom parameters for controls.
Cheers,
Colin.

3 Likes

@FM64 Oh wow dude, nice!! Thanks for sharing it! It looks great, and the performance is great too! I assume because you went the GLSL route. I spent the last half hour playing with it, and throwing different video’s at it, and this is gonna be a great resource! Thanks!

Maybe one day I’ll even understand the code :brain:

1 Like