 This video was originally shown at FMX 2014 as part of the open-source session on Cortex and Gaffer. We're demonstrating one use of the Gaffer framework as a lookdev lighting environment. Here we've taken the exploding droid from Elysium and reconstructed the lookdev inside of Gaffer. We didn't really do it this way on Elysium, we've just reconstructed it after the fact. We're exploring the complex droid hierarchy in the OpenGL viewport. We can expand using keyboard shortcuts in the viewport directly or using the scene hierarchy panel in the lower right corner. Boundary boxes in the viewport represent unexpanded hierarchy. That geometry is never loaded off of disk. Gaffer's caching mechanism speeds up repeat computation, which improves playback speed in the viewport. In this example we're using the scene cache file format provided by Cortex, which computes accurate bounds as you write the cache. You could use Olympic instead as long as you provide accurate bounds. Now we're demonstrating an interactive progressive render using 3Delite via Cortex. The Gaffer graph is actually a delayed load procedural evaluated at render time. We get pretty decent IPR speeds for such a complex production asset. This droid has 2 million polygons and approximately 150 gigabytes of textures. We can update shader settings on the fly. Here we're targeting the facing tint on a single 3Delite co-shader in the looked-in setup for the droid. As we update the parameter we send edit request to the 3Delite IPR render and 3Delite resamples the image. We can also update light settings and transformation values on the fly. Here we're updating the tint on the environment light. Note that we're setting the transformation values directly in the node editor. We don't actually have interactive manipulators in the Gaffer viewport yet, though it's on our roadmap for the future. Since the scene is flowing through the graph, we can simply branch off for batch and preview rendering and have different render settings. The batch nodes are executable nodes, which can be sent to dispatchers. Currently we only have a local dispatcher, though we plan to have farm dispatchers in the future. Once our batch render finishes, we can slap it over the plate and toggle between the results. In the future we'd also like to be able to send this slap comp to the farm as well as a daily, all from the same Gaffer graph. Thanks for watching the video. If you're interested in getting involved in Gaffer, you can download the binaries on the GitHub page, or you can fork it for yourself and try it out.