Santa Clara, Calif. -
Avatar, the breakthrough stereoscopic 3D feature film from James Cameron and Twentieth Century Fox, opened on December 18, 2009 with a record-breaking opening weekend of more than $77 million for any 3D movie, and grossing more than $1 billion worldwide since then. The film features lushly detailed scenes and an extensive cast of virtual characters set in computer-generated (CG) environments.
Wellington, NZ-based Weta Digital, the primary visual effects vendor on the film, is a longtime Nvidia customer and deploys both Quadro professional graphics solutions and Tesla high performance computing solutions in its visual effects (VFX) production pipeline.
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 the Avatar shots was higher than that required by any project Weta had faced to date, so they turned to Nvidia, the inventor of the graphics processing unit (GPU).
“The complexity of Avatar motivated us to think about rendering differently,” explains Sebastian Sylwan, Weta’s head of research and development. “We do our final beauty-pass renders with RenderMan, but to optimize artistic iterations on Avatar’s huge data sets, we moved the bulk of the calculation to a pre-computation step. The issues we needed to solve weren’t as much about rendering as they were about high-performance computing, and we realized that using the massively parallel power of a GPU to solve problems is Nvidia’s expertise.”
In March of 2009, Weta rendering research lead Luca Fascione, Weta CTO Paul Ryan and Jacopo Pantaleoni, an NvidiaResearch 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,” says 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.”
Weta R&D and Nvidia Research began their collaboration, with Pantaleoni traveling to New Zealand and residing there for several months to start development on a ray-tracing software solution that could handle the billions of polygons required in Avatar’s complex sequences.
Together, Nvidia and Weta co-developed a new pre-computation engine, dubbed PantaRay, to bring high-performance computing power into Weta’s VFX pipeline. The name PantaRay is a clever twist on a Greek aphorism "panta rhei” which means “everything flows”. This powerful ray-tracing system was designed specifically to accelerate pre-computation of scene occlusion information used throughout Weta’s rendering pipeline, to allow quick and dynamic re-computation of image-based lighting.
The innovative approach enabled Weta to render more complex scenes in less time, while using less memory and fewer processors. The result gave artists the critical ability to iterate faster and make more changes, ultimately achieving higher quality photorealistic results. With Nvidia’s co-development efforts, Weta was able to generate scenes that previously would have been time and cost prohibitive.
The benefits Weta achieved with the solution co-developed by Nvidia Research’s Pantaleoni compelled them to further embrace GPU computing – the power of Nvidia technology to perform massively parallel computing. Nvidia ported Weta’s PantaRay engine to a CUDA-based GPU driven version that runs 25 times faster, utilizing an Nvidia Tesla S1070 GPU-based server instead of a CPU based server.
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,” says 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 GPUs, PantaRay’s ray tracing process has proven to be up to 25 times faster than on CPUs. “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 incorporate PantaRay running on Nvidia Tesla GPUs into its pipeline 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.
According to Martin Hill, head of shading at Weta Digital, “Because the complexity continues to scale on each project we do, the amount we need to render continues to multiply. And the more complex the rendering, the harder it is to light the scene. PantaRay makes the complicated scenes as easy to light as the simple scenes.”
“Partnerships with groups like Weta’s R&D team bring us to the absolute bleeding edge of production technology,” says Dominick Spina, digital film technology manager for Nvidia. “Working with Weta on Avatar was an amazing collaboration. Nothing in the development of PantaRay was an abstraction. It was 100% production driven.” Spina adds, “We’ll continue to collaborate extensively like this with top visual effects and animation companies to bring more and more of Nvidia’s expertise to bear on solving the most complex production technology problems in order to free artists to create at higher levels.”