Luz – Introducing Shader Snippets

Luz is a live interactive motion-graphics editor and performer:

Luz is free and open source software.

Recent Advances

Luz recently got DMX support, allowing you to control venue lighting from Gamepads, Joysticks, WiiMotes, Wacom Tablets, MIDI devices, Kinects, live audio analysis, the beat of the music, or any app that sends OpenSoundControl.

Using Timelines, you can also schedule precise live visuals+DMX performances:

And now, a major advance in the graphics quality and diversity possible in Luz.

Jump down to the video, or read on for information about OpenGL Shaders and the limitation that was recently overcome.

OpenGL Shaders and the One-Shader Limitation

Shader programs replace a majority of the graphics pipeline on the graphics card, bending vertices, warping pixels as they go by. Shaders make possible the beauty and realism of modern games.

Unfortunately, only one shader program can be active when drawing each object. This doesn’t work well with the Luz model, where an actor can have any number of effects operating on them at once.

(This single-shader limitation is present in Quartz Composer. And the limitation is present in Microsoft Silverlight.)

Introducing Shader Snippets

Luz’s Shader Snippet technology overcomes this limitation by creating a shader program on the fly, by gathering tiny snippets of shader code from the user’s chosen effects, assembling them with a few tweaks to make them fit together nicely, and compiling them into a final program. (More technical details will follow in a separate blog post.)

Now, let’s take a look at Shader Snippets in action:

(If you know of other motion graphics software that assembles shader programs at run time, please let me know about it in a comment.)

The Luz Project

How better to challenge the mind than with creating beautiful, dancing, interactive visuals while listening to music?

How better to grow the open-source community than with fun, with play, with totally unique experiences?

I’ve been an advocate and user of the free desktop for my whole adult life, and Luz is an attempt to entice people of all sorts to try the free desktop.

I know this strategy works: many people have already installed Ubuntu to play with Luz, including artists, designers, women, and even children. Recently, one 8th grader in the weekly kids event we do told me he has begun volunteering at FreeGeek to earn an Ubuntu computer, so he can play with Luz at home. How cool is that!!?

Luz is just starting to get global attention, like the recent article on CDM.

Luz is a toy that I want to continue to see grow in quality and popularity.

Quite humbly, I ask for your support in making that happen. I invite you to:

It has taken 6 years and a lot of work to get this far, and there’s lots left to do to create the ultimate open-source live motion-graphics editor!

Thanks for reading, thanks for your support, and I hope you enjoy playing with Luz! 🙂

More on shader snippets and the new Text plugin doing live motion graphics typography:

Luz project page at
Luz tutorials.
Luz videos on YouTube.

Similar Technologies
HLSL Fragments


4 Responses to Luz – Introducing Shader Snippets

  1. oneone says:

    There is atleast one proprietary software that compiles shaders into one, it’s called Conduit and made by Lacquer. It’s a compositing tool for film work, and it’s got some real-time effects, high dynamic range and node based compositing. They also licence their Pixel Engine, which I believe is the shader compiler thing. It’s proprietary, so no help for Luz, but it still might be interesting for you technically. Here’s the link to the pixel engine page:

    That is definitely the most similar technology to Shader Snippets that I’ve seen yet. Thanks for the link!

  2. Vadim Peretokin says:

    How is the performance on this realtime compiling?

    The compilation takes around 200ms on my computer and happens once for each unique combination of shader snippets, after that it is cached and is a single hash lookup.

  3. Alejandro Nova says:

    Please, register yourself as a FOSS alternative to ArKaos Suite! I look at this with emotion, because I always wanted something like ArKaos, and you are bringing it!

    Register where?

  4. skierpage says:

    I want to sincerely thank you for putting “Luz is a live interactive motion-graphics editor and performer” at the top of your blog post, especially after I waded through dozens of impenetrable posts on about Mango, Tracker, Anycast, Shairport, Broadway and many other “Just WTF is it?!” codenames. :o)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: