Contributing to Film Development

UPDATE: Rob Bredow, the Chief Technology Officer at Sony Pictures Imageworks for many, many years, is moving to ILM instead of staying with Sony Pictures Imageworks after the Vancouver move. I didn’t interact personally with Rob ever, but I would not be breaking any NDA to point out that he was crucial to the development of everything I mention below. Not just the development, but of the open source contributions that have benefited so many companies, large and small. More in David S. Cohen’s Variety article.

Original Post:

In my last post, on the loss of Imageworks as a local institution, I was pretty focused on my personal feelings. There are some practical things to consider though. Imageworks was staffed not only by artists, but also with brilliant software engineers. Every visual effects studio has a budget for software engineers. You just do. They set up a pipeline where resources can move between multiple software packages, and through the hands of many people. When I started in the industry, companies were starting to open up to open source, free software. Industrial Light and Magic (ILM) distributed OpenEXR so that all studios could handle passing around image files without resorting to ancient, limited image formats.

Imageworks, similarly, started to release tools as open source and they’ve been adopted across the industry. Not just with other studios bolting on the tools to existing software, but with third party software vendors integrating them. The effect is so large that the Sony engineers have won Academy Awards for their technical work.

  • Alembic - When animating geometry, every software package handles not just the geometry data differently, but the way in which the surfaces deform. Imagine a puppet rig inside a character, and you want to hand it off to another vendor. Their software isn’t the same, or its a different version, and that delicate puppet rig breaks. Alembic lets you bake out, on frames, sub-frames, everything before it is handed off. Then the other software loads only this baked geometry, no delicate rig that can break, or have precision issues.
  • Field3D - A common format for storing voxel data. Things like smoke clouds, explosions, etc. Like Alembic, this is baked per frame, or sub-frame.
  • Maya Reticle - Autodesk Maya pretty standard for animation and layout work these days. This improves looking through the camera in the software, so it’s a little more niche.
  • OpenColorIO - This is huge. Color is fucked up. Seriously. If you’ve ever worked with images, and thought “gee, that looks different on my computer in Photoshop” you might be able to empathize with the problem. Imagine a world where color management was totally unified, and actually implemented. No more ‘let’s just assume this is sRGB’ in software. Jeremy Selan, the chief developer, won an Academy Award for this in 2014.
  • Open Shading Language - OSL is an ambitious project to create an open standard for how to write shader code for any render package. Pixar recently announced that they would add support OSL in to Renderman.
  • Pystring - Python string handling in C++. I don’t do anything in C++ but I always thought this looked cool.
  • Scala Migrations - I don’t want to use this one, but I’m glad it exists.
  • Pyp - This one is fun. I’ve posted about it before. You can do all kinds of neat stuff on the command line. It is most useful if you are working with lots of directories, or need to transform file paths. It’s something you can run right there on your Mac at home.

That’s a lot of really useful open source, totally free software. Most of it is MIT licensed, so it can be put in commercial projects, like The Foundry’s Nuke node-based compositing application (the current industry standard for compositing).


One of the things that I love the most is Academy-Award-winning Katana. I am under a boring NDA so I can’t talk about how I’ve used Katana, but I can point to other people that have been authorized to talk about using it (video). Like Nuke, it is a node-based system. For those unfamiliar, it looks like a flowchart, but none of the nodes in the flow chart can loop (boring wikipedia page on DAG). This provides a powerful, modular way to filter through data. Katana is also based around the idea of deferred loading. Instead of loading everything in the file in to memory, it keeps track of where those things will go. This means you can do things like render all of Manhattan.

The reason why Katana is a big deal is because it was sold to The Foundry, makers of the aforementioned Nuke, and now studios can buy Katana licenses to use it in production. Indeed, Pixar used it for their short film. The Foundry has a user guide for Katana as a PDF, and a more detailed technical guide if you’re interested in learning about any particular details.

This stuff took years to make at Imageworks. You can’t just whip it up overnight. As you can see in part of that video, Tippett Studios did not have the resources to work on a system like this. Even though this is commercial software, and not open source, its wide spread use (much like Nuke, which originally started at the studio Digital Domain) is still a valuable contribution to the industry. All of Sony’s open source projects are also inside of Katana, Alembic, Field3D, and OpenColorIO.

With Imageworks shuttering in Culver City, where all this development took place, it’s another reason to be sad about these tax subsidies.

2014-05-31 12:13:00

Category: text