Tara DiLullo explores the challenges of mixing practical and visual effects for Photon VFX in updating House of Wax for the Paris Hilton crowd.
In the relatively slow-evolving field of 3D graphics software, its remarkable to see the recent surge in stand-alone 3D renderers: Turtle, Vray, Brazil and new versions of RenderMan from Pixar. Each has its advantages and proponents, and each has a common thread. All of them depend on a computers CPU for processing power. With these renderers, every processor you add to a 100 CPU render farm will increase your rendering power approximately 1%, notwithstanding the overhead of increased network traffic, and the additional cost of a rack-mount server, large quantity of memory and so on.
NVIDIAs Gelato, which is designed to compete squarely with Pixars PRman, is a horse of a different color. (PRman is a highly-evolved renderer based on the general RenderMan specification, and sets the standard against which all RenderMan renderers are measured.) Gelato is written specifically to harness the dedicated 3D processing power of NVIDIAs graphics processors, or GPUs more specifically, the high-end graphics horsepower of its top-end Quadro FX graphics cards.
Since Pixars PRman is so well established in the industry, and widely regarded as so supremely powerful, the chief arguments for using an alternative is cost. PRman starts at $3,500 per license and escalates from there for the full RenderMan Artist Tools toolset, which costs $2,000. Add to this $4,000 for a typical dual-processor server or workstation with 2GB or more of RAM, and a typical 200 CPU renderfarm, configured with rendering software, will set you back more than $1 million, plus substantial annual licensing fees for upgrades and service.
The cost per workstation for Gelato is very closely pegged to that of RenderMan: the software itself is $2,750 per client, while a high-end Gelato workstation runs between $4,000 to $8,000. So the real question is, can Gelato hardware/software really replace the render farm?
One key to the question of Gelatos economy of scale is whether Gelato really works as a complete replacement for software renderers and large distributed render farms. If you can replace a 200 CPU renderfarm outright with a few copies of Gelato on a bookshelf worth of workstations, its a winner. But if your project involves elements, say rendering software-based effects that wont render with Gelato, or if you also distribute network rendering tasks such as compositing, then youll be stuck buying a $1 million farm and adding as many licenses of Maya or some other software renderer, anyway. Thats not to say you cant supplement a traditional renderfarm with Gelato servers that can render Gelato jobs when needed, but thats not nearly as enticing as being able to choose one or the other.
As a freelancer working from home, with fewer than a dozen P4 Xeons, Opterons and G5s on my mini-farm, I was ill equipped to test the scalability issues of Gelato; however, I did put the latest version, Gelato 1.2, which boasts such new features as caustics, photon mapping, subsurface scattering and improved ray tracing, through its paces from an artists perspective. Heres what I found in testing beta 3:
Creating scenes to use Gelato is transparent if you let the included plug-in, Mango, automatically translate your Maya shaders, but its real speed advantage appears when using custom Gelato shaders.
Gelato, like PRman, is not as simple to use as Mayas software renderer or mental ray. You really need to build RenderMan-style shaders to get the most out of it. However, Gelato ships with no equivalent to the WYSIWYG shader writing tools in Pixars RenderMan Artists Tools, so this remains a dark art.
Gelatos stability in beta was only fair. I experienced lots of random crashes when running on a dual Opteron with 3.5GB of RAM and a Quadro FX3000 graphics card. This was with fairly simple scenes that rendered effortlessly in other renderers. In fairness, however, I was testing beta software.
Gelatos performance suffers from using multiple monitors or anything else that hits the graphics card at render time. This is only a problem if youre trying to render on a content creation workstation, but this will be an issue if you want artist workstations to double as render farm clients, which is a common set up in cost-conscious studios.
Motion blur and other quality issues can be a problem with Gelato renders. I had difficulty replicating the quality I could get with software-based renders, although this may be due more to poor documentation and a shortage of useful examples, than to the capabilities of Gelato itself.
- Advanced software rendering effects new to version 1.2, such as caustics and subsurface scattering, work well in Gelato, but some, such as Maya Paint Effects, dont render at all.
Setting up Gelato was more involved than with other standalone renderers, since the installer is fairly cryptic, the Windows installer did not set everything up properly and I had to painstakingly manually edit environment variables on my systems to get it working. Based on the amount of attention given it in the existing documentation, Linux is clearly the favored platform within NVIDIA. I was also disappointed with Gelatos scarcity of artist-friendliness enhancements. Specifically, I would expect NVIDIA to ship Gelato with a large collection of pre-built shaders, including far more extensive examples, and far better documentation. Basically, Gelato ships as a barebones renderer and the included shaders serve as a basis for building your own. But youll be expected to fully grasp the intricacies of RenderMan and to come to grips with Python scripting if you want to get Gelato working to its full potential.
Mango, the Maya plug-in that now ships with Gelato, is a huge step forward from the first Gelato release. It now manages the translation of most standard types of Maya shaders into Gelato-friendly shaders, and provides a small level of Gelato control from within Maya. However, there is still a lot of trial and error involved, since there is no real immediate preview capability.
I found Gelato to be a compellingly powerful renderer, and rippingly fast when it works. However, there are a lot of issues still to be worked out, improved documentation chief among them, and I dont believe Gelato is ready to replace software renderers on a large scale. On the other hand, the beta of 1.2 was an impressive step forward for the technology, and I believe Gelato will give RenderMan a run for its money over time.
Editors Note: Documentation for the Maya plug-in has been added to the final release version of Gelato 1.2.
Sean Wagstaff is a freelance technical director who creates special effects for film and games, most recently for Double Fine Prods. and The Orphanage.