Robin explains the process and benefits of making animated movies with Linux.
With more than 200 Linux desktops and 400 Linux servers, DreamWorks SKG is not only a leading producer of animated motion pictures but a major user of Linux as well. DreamWorks animation utilizes three production pipelines: Aardman in Bristol, England (Chicken Run), PDI/DreamWorks in Palo Alto, California (Shrek, Antz) and DreamWorks traditional animation in Glendale, California (The Road to El Dorado, The Prince of Egypt). Each production unit has its own animation techniques. Aardman is recognized for claymation, PDI/DreamWorks for CG (computer graphics) and DreamWorks in Glendale for traditional techniques.
We visited the Glendale studio where the major animated motion picture, Spirit, Stallion of the Cimarron is in production. Spirit, the story of a wild mustang's adventures in the untamed American West, is due for domestic release in the summer of 2002.
Some wonder how Linux will dislodge Windows on the desktop because leading desktop applications such as Microsoft Office (Word, Excel and Access) aren't there. But, if you are a motion picture animator most of your everyday tools are already available on Linux, and the number being ported or even produced specifically for Linux is increasing at a remarkable rate.
DreamWorks has followed three paths to Linux: new development, porting and third-party-vendor porting. Head of technology Ed Leonard says, “To dramatically reduce costs was one of the big motivating factors in moving animators to Linux. But, it is our animators' productivity that really counts. Telling the story well, not the underlying technology, is what matters to us.” Using Linux saves time for the animators because Linux PC performance is so much faster than the five-year-old computers being replaced, even though those SGI IRIX workstations were awesome machines. Leonard adds, “Microsoft software continues to play a key role in our overall business, but Linux is particularly well suited to animation production pipelines.”
An animator's desktop is not the same machine that an executive or secretary would have. The animator needs a high-performance workstation with a dual-head, high-performance graphics system and specialized software for motion picture production. To typical computer users, the animator's software tools may be unfamiliar. Let's walk through the DreamWorks production cycle and see how Linux is used (see Table 1).
Table 1. Animation Types and Methods
An animated feature film starts with a story idea. Production takes two years. In the preproduction phase called visual development (vizdev) many different forms of art, including oil paintings, are created to capture the essence and look of the film. Some works of art go beyond the general level of detail and realism that will be in the finished film.
Similar in appearance to a comic book, a storyboard is sketched by hand on paper to help visualize key production shots. Then, an animatic movie is created by artists using custom plugins in Alias|Wavefront's 3-D animation package Maya. Although lacking the quality of finished animation, the animatic shows the context for the scene, the camera view and helps with character development. Using the animatic, the production staff can visualize parts of the film in motion before it enters production. None of this preproduction content will make it into the film. It is used as a guide for producing the real film later.
Scene planning determines the characters, backgrounds and effects to be built. Animation, backgrounds and effects are separate departments. The pieces will be brought together later using compositing software.
For character animation, a scan of a paper sketch is done using ToonShooter. Production software lead Derek Chan explains, “ToonShooter is an internal tool we wrote for Linux. It captures low resolution 640 × 480 line art that the artists use to time the film.” Created more than a year ago, this Linux capture stand software is deployed in three animation departments. Chan says, “Demand was keen for this Linux software, and we delivered it ahead of schedule. DreamWorks has 60 units in production now.”
ToonSketch lets artists do quick copystand-style work without paper or scanner. Senior software engineer Nhi Casey demonstrates, “We sketch on the Wacom tablet like we would on a piece of paper. It's fast and has unlimited undo.” Head of software Jim Mainard adds, “You can do ghosting to see frames before and after. That's easier for animators to work with than paper that bunches up.” Utilizing ghosting, the animator traces, or is guided by, adjacent frames.
To maintain the look of traditional cel animation, DreamWorks will hand-draw the foreground characters. The scanning department uses large auto-feed scanners to capture each hand-drawn frame in high-resolution (2k pixels wide) format. For Prince of Egypt they handled more than a million pieces of paper.
ScanLevel, an IRIX-based application, saves the image into a proprietary compressed raster format. Mainard says a switch to a Linux version of this software is anticipated later this year once a driver for the scanner is finished. ProcessLevels, a suite of proprietary Linux-based tools, performs contrast enhancement to take out the color of the paper, that is, drive the background to white and darken line art. It also automatically takes out skew and optical distortion.
Digital InkAndPaint takes the scanned line drawings and adds color. Star painter Tina Staples demonstrates her skill with InkAndPaint, an internal Linux application. It works a bit like the GIMP or Photoshop but is specialized for all sorts of bucket fill image operations. Leonard jokes that it's a bit like paint by numbers on steroids. Tina is so fast at painting a frame we had to ask her to slow way down so we could follow what she was doing. Tina exclaims, “We go so fast now! Using Linux has doubled my speed, and we're meeting our quotas each week.”
InkAndPaint does autofill by region, has touchup tools and automated tweens. “Automation breaks down as scenes progress”, says Mainard. “A good operator is needed to color areas where several lines intersect.” If that isn't done right you see a crawly effect from the color changing at the intersection points frame to frame. “Color where lines come together is hard to automate, but we hope to do more development with autofill”, says Mainard. “Tina is so fast with InkAndPaint it almost doesn't matter.”
InkAndPaint replaced dual-head Octane workstations with Linux PCs. The left monitor is used for painting, while the right monitor shows the markup guide. Leonard points out that they overcame a lot of Linux graphics issues early, such as overlay planes, to get snappy screen performance. That (and the work on the Wacom tablet drivers) has been given back to the Open Source community.
Most backgrounds are drawn 2-D by hand using either traditional tools, such as oil paint, or digital tools such as Macintosh Photoshop. Background drawings can be quite large. Mainard says, “In Prince of Egypt some were six to eight feet wide.” ScanBackground, an IRIX-based program, digitizes those through a 36“ Tangent scanner. Scanning algorithms stitch the large backgrounds back together.
Backgrounds that need to exhibit perspective changes are created in 3-D using Maya. Colors may be projection textures (texture maps) or paint. For 3-D paint DreamWorks was using Studio Paint, another Alias|Wavefront product. But, they are switching to wpaint, a proprietary Linux application developed at PDI/DreamWorks.
The special effects department creates organic effects such as dust, fire, fluids, smoke and particles. Senior software engineer for advanced R&D future films Galen Gornowicz has been developing technology for an unannounced animated motion picture for a year. “I've been working on developing an ocean scene that renders in real time. There are proprietary systems that can do this, but we're running a plugin on top of Maya”, says Gornowicz. The productivity gain in Linux is a big plus. “With the old systems we would go to lunch when rendering something like this. And, the water models were executed at the command line, not interactive like this”, he points out.
Gornowicz says, “We use Maya for effects plus a whole host of plugins such as Calypso water developed for Linux.” DreamWorks found that the water in Calypso was too photo-realistic, too much like the movie The Perfect Storm. Gornowicz is working to modify the water's look to match the movie's vizdev images. Developing a Maya plugin involves writing a MEL script for simple effects or using C/C++ for a more complex or high-performance plugin. When using a compiled plugin, an interpreted MEL script (sort of like JavaScript) is used to create a menu choice and hook the plugin into Maya. Any function may be called by the MEL script. A plugin has no main().
Rendering, producing an image of a computer-generated object, may be done locally on the user's workstation or on the DreamWorks renderfarm. The renderfarm accepts jobs in queue or as a priority render on three refrigerator-sized SGI Origin 2000 servers (with 8-16 CPUs).
At PDI/DreamWorks the renderfarm used for Shrek has a 1,000+ processors, 80% Linux and 20% IRIX. Even before acquiring PDI, DreamWorks in Glendale was rendering using Linux. They have older Origin 200 servers running IRIX but are switching to much cheaper Pentium computers. The Glendale renderfarm is half the size of the one at PDI/DreamWorks because traditional animation is less CPU-intensive than CG. VA Linux provided Glendale's first Linux render computers that proved Intel PCs capable. DreamWorks is building a new render tower made up of dual 1GHz P3 2GB RAM computers housed in a 1RU (1.75”) package stacked 41 units high. This refrigerator-sized unit is replacing computers consuming 40-50 feet of data center rack space.
The compositing department puts all the pieces together: the characters, the backgrounds and the special effects. They also do matting of foreground objects, for example where a character is standing partly behind a rock. Mainard explains, “DreamWorks uses a heavily modified version of Director, which was originally developed by Cambridge Animation. This software is similar to Shake, a popular commercial compositing software package, but has been modified for use with X-sheets.” An X-sheet is a frame-timing list and how animators traditionally prefer to work. All of DreamWorks tools are modified to support X-sheets. Director also has special support for rendering InkAndPaint levels at the right resolution with correct anti-aliasing.
Artists mostly work at quarter resolution with 1k wide images. For feature release the final rendering is done at 2k, or for IMAX release at 3k or 4k. The final render outputs the frames as TIFF files to the output server that passes them to Cineon Lightening film recorder serial number 1. The laser film recorder prints at a rate of about 3fps for 16-bit per channel 2K frames. Mainard says, “Once a sequence is complete we film out that with a series of Perl scripts that prepare data for the film recorder. Processed film comes back as color dailies, typically every day.”
“Linux works great for games, but porting from rich graphics APIs of SGI takes time”, says Leonard. “HP, IBM and SGI have responded with good Linux solutions for us.” Leonard says Dell also “gets it” and will be expanding more into Linux. Asked why we saw no AMD CPUs Leonard says, “Linux on Intel provides a strong and consistent platform for the high-end workstation market across several vendors. That's why we're not pursuing things like Linux on Alpha, FreeBSD or proprietary UNIX solutions.” Leonard adds, “HP has great Linux support. We were getting two patches a day from these guys.” Instead of maintenance contracts, DreamWorks now buys inexpensive spare PCs. Leonard says that “disposable rendering” will enable DreamWorks to replace desktops and the renderfarm every two years instead of five.
DreamWorks uses both internally developed programs tailored to the needs of their animation production and commercially available animation software. DreamWorks has three million lines of code internally, most of which was originally developed for the SGI IRIX operating system. Linux is much more similar to IRIX than Windows, and consequently, is much easier for porting such large masses of code. Linux Maya (to be reviewed here next month) is a commercial software package that plays a large role in their production.
Each DreamWorks animation pipeline (Aardman, PDI/DreamWorks, DreamWorks traditional) has the capacity to produce a major animated motion picture every 18 to 24 months. Thanks to the economics of Linux, a fourth CG production pipeline is being constructed at DreamWorks in Glendale. Entering production early next year, the new pipeline will be based entirely on Linux using Intel IA-64 and Pentium4 processors. We can look forward to more films like Shrek and Spirit being powered by Linux, and to more amazing animation from DreamWorks SKG.