Luz 2.0 in the wild

December 27, 2014

Luz 2.0 was used for its first live performance recently, by Josh Fitz of LightTroupe.

Luz 2.0 is getting very, very fun!

Luz 2.0 takes the pure-Ruby engine of Luz 1.0 and all its plugins, drops the GTK interface, and replaces it with a custom fullscreen animated interface.  So go ahead and stay in beautiful color-world.

Screenshot from 2014-12-27 04:09:50More screenshots:

Luz 2.0 User Interface Design Goals
– stay with the visuals, no leaving play mode to edit
– show all edits immediately
– be as simple and consistent as possible
– all value changes should be smooth and “playable” for creating Luz sets live as a new form of performance
– all behaviors should live behind a checkbox that can turn them off: it allows for learning how something works without altering it irrevocably
– the most common operations should be easiest, for example animating a setting to the beat is a single click
– a simpler technology stack, making it easier to run Luz on OSX or run Luz on Windows (help wanted, contact me)

The Heart of Luz 2.0


This is the object editor, and it’s basically the only thing to learn, because all editing you do uses this editor, from configuring human input to tweaking the settings of pixel-bending shaders.

In this screenshot, we’re editing a rectangle actor which is showing a movie. The Scan Lines Horizontal plugin is selected, and its size setting is being changed.

Luz 2.0 is on GitHub. The goal is to make life more beautiful and fun, and so Luz is free and open source software, and you are welcome to project it on the wall at your next house party, to use it for live performance, even to earn money with it.


Luz Studio 0.91 makes the move from Glade to GtkBuilder, gets WAY faster startups

February 26, 2012

Luz is a live motion graphics editor and performer.

With this change, startup time is down from ~4 seconds to under 1 second. Mainly I think this is due to using separate builder XML files, as opposed to one massive glade XML file that I now believe was being loaded repeatedly (once for each toplevel window).

Now I need to figure out what happened to the Ruby bindings for GtkGLExt, and Luz will be able to run in Ubuntu 11.10 and up (bug).

Though I’m not on 11.10 yet, so any help would be appreciated!


Video tutorials:

Luz with Chipmunk 2D Physics Integration

July 4, 2011

View in HD and with Captions.

Luz tutorials.
Luz project page.

Introducing the Luz Body Tracker

April 25, 2011

Luz is an open-source live motion graphics editor and DMX controller.

I just checked in a major new feature, the Luz Body Tracker:

In this test, the hands control the heights of the bars.  The ‘praise jebus’ variable goes to 100% when both* hands move above the shoulders, and it in turn drives the amount of the Pixel Storm effect on the scene renderer.

*This effect is accomplished by setting the variable’s ‘Combine Method’ to ‘Multiply’, as seen in the screenshot. (%56 * %73 = about 41%)

With the Luz Body Tracker, any effect in Luz including DMX lighting can be easily controlled directly by human body movement.

Want to control a theater’s lighting entirely from body movement? Luz can do that.

Luz Body Tracker was graciously tested by the kids at the after school play space LightTroupe visits. (And apparently the Kinect can track kids on swings. Whodathunkit?)

Luz Body Tracker

The Body Tracker sends values like “Human 01 / Left Hand / X”.

It can track multiple people simultaneously, and you can limit the maximum number of people (to whatever number you choose to support in your Luz project).  It’s all unattended and automatic. The Luz Body Tracker is intended to facilitate museum installations.

The raw x,y,z data for each spot on the body (shown as circles above) is converted to the 0.0-1.0 range and sent to Luz via OpenSoundControl.  Elbow, knee, and hip bend angles (0.0-1.0) are also calculated and sent.

Like in the Input Manager application, where each axis of each device is auto-calibrated, here each body part is individually auto-calibrated.  This means that someone whose elbow can’t physically raise above their shoulder will still be able to send 100% activation for “Elbow / Y”.  It means shorter people can still reach a full “Head / Y” value.

Further, elbow and hands are calibrated relative to shoulders, knees and feet are calibrated relative to hips.  In other words, your expressive limbs’ calibrations are in body-space, not stage-space.  It feels great– if you stick your right arm out as far as it’ll go, “Right Hand / X” will always hit 1.0.

Luz Body Tracker uses OpenNI+NITE for skeleton tracking. Because these aren’t provided as debian/ubuntu packages yet, the Luz Body Tracker is a little harder to compile than the rest of the Luz Studio suite.

Big thanks to Ether Snow who began the Luz Body Tracker app, got it fully working, and then handed the code and a Kinect over to me for integration into the Luz world.

Luz has enticed many non-traditional users– artists, women, kids– to install Ubuntu. It has the potential to bring thousands of non-technical folks to freedom and fun.

Please support the Luz Project— it all goes directly to feature development, creation of tutorials and documentation, and the drive towards a 1.0 release.

Luz – Introducing Shader Snippets

April 19, 2011

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

Luz Studio Tutorial 1 & 2

January 18, 2011

I invite you to view the first two Luz Studio tutorials:

They should play with subtitles, either as HTML5 video (OGG Theora), or via YouTube FLV.

I would appreciate any feedback you have on the tutorials. I intend to make many more, but I’d like to know if these are working for people.

Comments are open. Thanks!!

Luz Studio Tutorial 1 (without voiceover)

March 21, 2010

The official Luz Tutorials are up on LightTroupe’s site.

Luz project homepage.