There's a reason why Up shines brightly and contains such rich shadow detail. That's because Pete Docter's Pixar film had the benefit of point-based rendering for ambient occlusion and indirect illumination. Much faster than previous ray-traced methods, this evolutionary computer graphics technique has enabled color bleeding effects and realistic shadows for complex scenes.
In fact, this point-based method for computing diffuse global illumination (color bleeding) is much faster and uses less memory than ray-traced methods. Its developers -- Michael Bunnell, Christophe Hery and Per Christensen -- will be honored with a plaque by the Academy of Motion Picture Arts and Sciences at the annual Scientific and Technical Awards presentation at The Beverly Wilshire.
An interesting irony, though: This started out as a realtime GPU technique at NVIDIA and ended up as an offline rendering CPU technique and now is a standard feature of Pixar's RenderMan.
"I was working on the shader/compiler team at NVIDIA," recounts Bunnell, who is now founder of Fantasy Lab, an indie game developer in the San Francisco Bay area. "Anyway, somebody in the demo group read an ILM paper on ambient occlusion and implemented that into one of their demos and they asked me, because I had done the tessellation code in the smooth surface, if they could evaluate the ambient occlusion value -- the shadow or the darkening effect -- and they wanted me to change my tessellation routine. They did the 'Dancing Ogre' demo, rendered in realtime. There was no problem using the ILM technique because it was pre-calculated. And so they would bake in the ambient occlusion for each position of all the characters for every frame and that ran over night. And when the more programmable graphics chips came out, especially when they had the ability to do branching and looping, I decided to investigate a method to calculate the ambient occlusion on the fly. It was one of the chapters I wrote for the GPU Gems book. Once I got the idea of working with a point cloud, I came up with the idea of making it hierarchical, which was the main thing that Pixar picked up on and liked.
"Well, if you throw away the geometry and ignore the form factors, then you get the shadow and it gets to be too dark in places. But I found an indirect way of calculating visibility. And I also realized that I could use this as more of a general transport system, so I could use it to do indirect lighting or large area lights. So instead of trying to solve the entire global illumination problem, I was able to solve the problem that we have no solution for."
Meanwhile, Christophe Hery and Per Christensen were also interested in Bunnell's point-cloud method and began testing and developing it at their respective studios, Industrial Light & Magic and Pixar. Even Rene Limberger of Sony Pictures Imageworks collaborated with Christensen for actual production implementation ahead of Pixar. Sony tested it on Surf's Upand ILM did the same on Pirates of the Caribbean: Dead Man's Chest.
"I met Per Christensen at Eurographics and we decided to collaborate on our respective techniques and make them native in RenderMan," explains Hery, who recently left ILM and is now Look Development supervisor at ImageMovers Digital, where he will be working on Robert Zemeckis' Yellow Submarine. "This became the big 3D operation in RenderMan where you could export the point cloud format, the ptc. And we collaborated even more together to implement the scattering solution in RenderMan. Per and I were exchanging codes at the time and I implemented the texture mapping part of it. So now RenderMan has a file format and can handle point clouds in memory and can dump point clouds in shaders and can solve scattering.
"So basically Pirates 2 became a test bed. We added this black box of two prototype DSOs, one for ambient occlusion and one for indirect diffuse. And all the characters migrated to this very quickly. It was a bit scary. It was really just prototyping, but I think it was very successful. I presented the results at the 2006 User Group meeting at SIGGRAPH, and Pixar announced that it would be implemented in the next version of RenderMan. But it's interesting that pretty much all of the techniques on Pirates 2 have now been recognized. And I've always thought that Pirates 2 was the best show at ILM where everything progressed in parallel -- artistically and technically."
"It's frightening almost how quickly Christophe was able to implement it into their pipeline," adds Christensen, Pixar's senior RenderMan developer. "But I kept improving the speed and accuracy of the method, adding new bells and whistles, mostly based on suggestions from Christophe and Rene. I know Up was the first movie where it was widely used for 90% of the shots. This inter-reflection between matte surfaces is something that happens in real life, so this technique adds realism to the pictures. And this point-based method that we developed can deal with geometry better but also has no noise, which is another big advantage.
"I think the most striking use of it on Up is when the boy scout puts his boot in the door of the house and the sunlight is shining on the outside of the door, and that's bouncing back onto the wall inside the house, so it gives this very nice warm glow inside. And it's not something that the TDs have to work very hard to do: It's my understanding that it's now set up in the pipeline and more or less done automatically for them."
Bill Desowitz is senior editor of AWN & VFXWorld.