Issue 88: GFX: DreamWorks Feature Linux and Animation
Posted on Wednesday, August 01, 2001 by Robin Rowe |
|
|
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.''
ToonShooter Screenshot
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.
Nhi Casey, Senior Software Engineer
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.''
Tina Staples, Star Painter
InkAndPaint Screenshot
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.
Galen Gornowicz, Senior Software Engineer for Advanced R&D Future Films
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).
SGI Renderfarm
Linux Renderfarm
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.
Robin Rowe is a partner in MovieEditor.com, a technology company
that creates internet and broadcast video applications. He has written for
Dr. Dobb's Journal, the C++ Report, the C/C++ Users
Journal and Data Based Advisor. His software designs include a
client/server video editing system in use at a Manhattan 24-hour broadcast
television news station, Time Warner New York One and associated web site
http://www.ny1.com/. You can reach him at robin.rowe@movieeditor.com.
|