The long-awaited 3D feature film from James Cameron and Twentieth Century Fox, Avatar, has generated a record breaking box office take of over $1 billion worldwide in its first three weeks since release. As the post-production countdown clock proceeded to zero, some key technologies, including the graphics processing unit (GPU), played a big factor behind the scenes of what Cameron refers to as his “life’s achievement.” As you’ve probably heard, read, or seen (if you were lucky enough to get into a theater already to watch it), the film features lushly detailed scenes, and an extensive cast of virtual characters set in computer generated (CG) environments.
Wellington, NZ-based Weta Digital was the primary visual effects vendor on Avatar. Turns out they are also a longtime NVIDIA customer, and use both Quadro professional graphics solutions and Tesla high performance computing solutions for creating visual effects.
Weta was tasked with building sequences with as many as 800 fully CG characters in highly stylized digital settings. The computational power required to process these Avatar shots was higher than that required by any project Weta had faced before, so naturally, they turned to NVIDIA, the inventor of the GPU.
In March of 2009, Weta rendering research lead Luca Fascione, Weta CTO Paul Ryan and Jacopo Pantaleoni, an NVIDIA Research senior architect, discussed what Weta was up against. “Paul let me know that for the first time in the history of CG visual effects, the number of polygons required was going to be measured in billions rather than in millions,” said Pantaleoni. “Luca described their unique approach to lighting, and their need for a scalable solution to ray trace the entire, amazingly complex world they were about to create.”
Pantaleoni traveled to New Zealand, and stayed there for several months to help Weta develop a ray tracing solution that could handle the billions of polygons required in Avatar’s complex visual sequences.
Together, NVIDIA and Weta co-developed a new ‘pre-computation engine,’ dubbed PantaRay (a pun on a Greek aphorism “panta rhei” which means “everything flows”), bringing high-performance computing power into Weta’s visual effects (VFX) pipeline. In layman’s terms, NVIDIA and Weta were able to turbo-charge the production process, enabling Weta to create significantly more complex scenes in less time.
A shot that exemplifies the advantages Weta achieved with PantaRay can be seen in the movie’s promotional trailer. The shot from a helicopter looking over a huge flock of hundreds of purple creatures flying over water, with a massive tree-covered mountain in the background was pre-computed in just a day and a half using PantaRay. “That shot would have taken a week with previous methods,” said Weta’s Fascione. “The fact that it was so much faster with PantaRay meant that we were able to create a much more beautiful shot – you can see fine detail on every bush, every leaf. The color separation between distances is clean and clear. The computational power of PantaRay made the difference.”
When running on a NVIDIA Tesla S1070 GPU-based server featuring the CUDA architecture, instead of a CPU-based server, PantaRay’s ray tracing process has proven to be up to 25 times faster. “If we think about how long it would take to handle this much complexity with traditional methods, we’re probably close to 100 times faster,” said Sylwan.
Weta Digital plans to use PantaRay, running on NVIDIA Tesla GPUs, for the upcoming Steven Spielberg/Peter Jackson film, Tintin, as well as exploring new ways in which PantaRay and GPUs can further accelerate its overall visual effects pipeline.
NVIDIA and Weta Digital. They worked well together for Avatar, and stay tuned for more great stuff, courtesy of the GPU, as NVIDIA continues to collaborate with top visual effects and animation companies like Weta Digital.