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 approaches. 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 volumetric 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 acceleration, 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-dimensional voxel grids in a compact form, and, explains the press release, it offers “an effectively infinite index space, compact storage in memory and on-disk, fast random and sequential data access.” The tool set includes algorithms for creating 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 OpenVDB at Siggraph, the presenters said they were looking forward to the additional 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 subdivision surface code, which Pixar uses in its tools. Pixar wants everyone using OpenSubdiv because the resulting models will be compatible with Renderman. OpenSubdiv is a set of Open Source libraries that enable high-performance subdivision surface evaluation on massively parallel CPU and GPU architectures. 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 response has been enthusiastic. At one point he says, “As you can see, now I have more vertices than there are pixels on my monitor.” Pixar says the resulting limit surface matches Pixar’s Renderman to numerical precision. 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 covered by the Microsoft Public License and is available on Pixar’s GitHub account.
Dreamworks and Side Effects
A key part of Dreamworks’ development is its alliance with Side Effects. Its tools for OpenVDB are going to be incorporated into Houdini, which means they’ll be more easily accessible to users. Side Effects and Dreamworks announced the deal at Siggraph this year, but the two companies have been working together for a while now. Dreamworks has obviously been putting Side Effects particle-based tools to work, and the companies are now collaborating on OpenVDB.
Pixar Animation Studios Open Subdivision Technology Review, from Siggraph 2012