Rutt-Etra – Second Attempt

Sunday night at share was quite productive – I had a nice talk with Bill Etra and he gave me some insight into the signal flow within the Rutt Etra. This uses a new shader which uses vertex attributes and GPU based displacement for speed, and has a slab based feedback component.

7 Responses to “Rutt-Etra – Second Attempt”

  1. alx Says:

    Really nice work!
    I’ve become a bit obsessed with the Rutt-Etra myself, and ultimately want to attempt some kind of recreation of it using GLSL, but using Quartz Composer, rather than Max/MSP (which I don’t have). This looks close to the original, I think, though I actually think it looks better in monochrome than in colour!

    Just out of interest, are you emulating the way the original distorts each line individually, or actually mapping the input video onto a moving surface to simulate the effect?

    Anyway, great work, and I’ll be interested to know how this project developes.

  2. vade Says:

    Yes, this is distorting each ‘scanline’ individually with the luma value in z, x or y (the original could only do z line displacement). And since this is in OpenGL, we can also move around the plane in 3D space, another effect the Rutt Etra could not do.

    You can drive the scanlines with any input, it does not have to be the luma values however.

    Thanks for the feedback. Quartz Composer in 10.4 does not support full GLSL, however ive heard that 10.5 will support GLSL, which is very very exciting.

    I have to agree, the color is …. interesting. :)

    Thanks again!

  3. alx Says:

    hi vade, cheers for the detailed reply. qc in leopard will definitely support glsl, so i wonder if it would be possible to port your rutt-etra emulation…
    i’d be really interested in trying, when leo is finally released into the wild!


  4. alx Says:

    Hiya, just another quick query:
    Hope you don’t mind me asking, but are you using Vertex Displacement from the video imagine, actually in the Vertex Shader here? Hope you don’t mnd me asking, it’s just I’ve been reading that this technique isn’t available on certain graphics cards (particularly ATI ones, apparently). I’m planning to look into the while area of Vertex Displacement as soon as I can get my hands on the OS 10.5 version of Quartz Composer (assuming it has the much-anticipated GLSL support).

    Cheers again, and keep up the good work,


  5. vade Says:

    Im simply using vertex attributes, because thats all Jitter supports for this sort of thing.

    10.5 Quartz Composer does support GLSL with a GLSL patch/module/node or whatever they call it, as ive erm.. *cough* played with a dev seed and successfully ported one of two or my shaders, and by porting I mean basically copying and pasting the vertex / fragment program

    However im not certain if this could run within Quartz Composer, as I suspect there is no functionality for doing render to VBO or vertex attributes as Quartz Composer is mostly just 2.5D, but with OpenGL + Cocoa stuff, you could def do it and probably faster.

  6. vade Says:

    btw, I checked out some of your toneburst effects on the VDMX Quartz wiki, some nice ones in there. :)

  7. alx Says:

    Hi vade!

    Thanks for the comments re. the toneburst qcFX. Most of them are just experiments really. They do ‘come alive’ though, when run in VDMX, and hooked up to a MIDI controller, or automated.

    I noticed your recent post to the Quartz Composer dev list this morning. I’m guessing you’ve already started work on a QC version of the Rutt-Etra effect. Good luck with that, and I’d love to know how you’re getting on. Unfortunately, I’m a long way from getting into 3D transformations at the moment, as I’m still struggling with basic 2D geometry at the moment. Very excited about the new toys in the Leopard version of QC, though, like you, I had a *cough* fairly shrewd idea of what was coming.



Leave a Reply