Sometimes Cloud Rendering means rendering clouds

Open source tools from major studios and commercial vendors are fueling graphics advances.

One of the first technical sessions we attended at Siggraph 2012 was a description by people from Dreamworks and Blue Sky Studios about techniques for creating cloud effects. It was interesting that both studios came up with similar approach­es. Both companies were experimenting with volumetric data using particles and simulation, and as a result both were faced with the challenge of controlling the simulations and managing huge amounts of vol­umetric data. Both companies worked with the particle tools in Side Effects Houdini. Blue Sky has been building an asset store of clouds.

The work both companies have been doing has helped push understanding of GPU ac­celeration, and Dreamworks has opened up its proprietary format, OpenVDB, which they developed to handle volumetric data more efficiently.

Dreamworks’ OpenVDB is a sparse volume data format. It is a hierarchical data structure and a suite of tools. The technology stores sparse three-dimen­sional voxel grids in a compact form, and, explains the press release, it offers “an effectively infinite index space, com­pact storage in memory and on-disk, fast random and sequential data access.” The tool set includes algorithms for creat­ing and handling OpenVDB data. Key operations include filtering, constructive solid geometry, compositing, sampling, and voxelization from other geometric representations. Dreamworks promises more detail to come in a paper for the ACM journal, Transactions on Graphics.

Dreamworks says they support Open Source, they’ve benefitted from Open Source technology, and they want to give back. At their announcement of Open­VDB at Siggraph, the presenters said they were looking forward to the ad­ditional contributions the Open Source community would make to OpenVDB.

More on the open front

Also at Siggraph, Pixar announced OpenSubdiv developed in collaboration with Microsoft. This is a subdivision library based on the Camull-Clark sub­division surface code, which Pixar uses in its tools. Pixar wants everyone using OpenSubdiv because the resulting mod­els will be compatible with Renderman. OpenSubdiv is a set of Open Source libraries that enable high-performance subdivision surface evaluation on mas­sively parallel CPU and GPU architec­tures. How that works out in practice is that modelers can get very smooth models and animators can pick features to animate very precisely. Real-time visualization is accelerated by the GPU so artists enjoy interactive response in the viewport. The use of subdivision lets artists see what they get and more. In a YouTube video (also embedded at the end of the article) Manuel Kraemer showed the audience the ability to perform subdivisions to allow highly detailed, fully accelerated models in the Maya viewport. The re­sponse has been enthusiastic. At one point he says, “As you can see, now I have more verti­ces than there are pixels on my monitor.” Pixar says the result­ing limit surface matches Pixar’s Renderman to numerical preci­sion. OpenSubdiv libraries are supported in Windows, Linux, and “limited” OS X. Also, it supports CUDA and OpenCL. In addition, Pixar has released the relevant patents. It’s cov­ered by the Microsoft Public Li­cense and is available on Pixar’s GitHub account.

A demonstration of real-time display of a highly detailed model, using OpenSubdiv from Pixar. (Source: Pixar GPU Team and Autodesk.)

Dreamworks and Side Effects

A key part of Dreamworks’ devel­opment is its alliance with Side Effects. Its tools for OpenVDB are going to be incorporated into Houdini, which means they’ll be more easily acces­sible to users. Side Effects and Dream­works announced the deal at Siggraph this year, but the two companies have been working together for a while now. Dreamworks has obviously been put­ting Side Effects particle-based tools to work, and the companies are now col­laborating on OpenVDB.


Pixar Animation Studios Open Subdivision Technology Review, from Siggraph 2012