Pixar's OpenSubdiv Initiative, and How It Can Help You


Reprinted with permission from http://neilblevins.blogspot.com/

By Neil Blevins Aug 26th 2012

Back in 1978, Ed Catmull (now president of Pixar animation studios) and Jim Clark (founder of SGI and Netscape) came up with the Catmull-Clark subdivision method. This was a method for subdividing polygonal geometry (and subdividing any associated Uv sets) into smooth surfaces. Later, in 1998, Tony DeRose (now team lead of Pixar Research) created a method for defining crease values on edges and vertexes as a way to allow for hard edges on a smooth surface. The method has in many ways revolutionized our way of modeling over the last decade, replacing nurbs as the go to method for modeling in the film industry.

The problem was this. While the base subdivision method from 1978 was freely available, the creasing, texture evaluation, and some other aspects were patented and available for license. But instead of licensing the technology, every major 3d package decided instead to either avoid these features or create their own versions when implementing subdiv surfaces, versions that were incompatible with everyone else's subdivision method. This wasn't a huge deal at the beginning, since maya folk tended to stay in maya, and 3dsmax folk tended to stay in max. But in today's modern pipeline, there's a lot more asset swapping between packages, especially between sculpting packages such as mudbox and zbrush and the major 3d apps. All of a sudden, all of those incompatible subdivision methods weren't talking to each other, and moving an asset became an exercise in frustration (and artifacts).

Here's a good example of some of the artifacts one can get, in this case, moving a mudbox color map to 3dsmax...

Mismatched UV interpolation

Here's 3dsmax's incompatible creasing algorithm:

Bad creases

And here's the full Catmull-Clark version, notice how much nicer it is:

Good creases

In the last few years, Pixar has worked with a number of major 3d packages to adopt the full catmull clark method, and programs like maya, mudbox and modo have become completely compliant, and hence, it's far easier to move assets between those 3 packages.

At this year's Siggraph, Pixar has announced the "OpenSubdiv" initiative. This will release to the public in open source fashion, a subdiv library that can be integrated into any 3d package. This is the actual code that Pixar uses, all of it, and the license terms include a free license to all the patents. So if adopted, this free subdivision method can be implemented by all of the major 3d packages, sculpting packages and renderers, and we'll finally be able to move our assets between any of these packages without worrying about subdiv incompatibility. In some cases, it will even let people use subdivs where they couldn't before, because their package's implementation wasn't up to snuff.

If you're a programmer, then the actual Open source may be of use to you here:

https://github.com/PixarAnimationStudios/OpenSubdiv/

But if you're an artist, there's an important way for your to participate as well. The ability to seamlessly move subdivs between 3d apps will only happen if those applications implement OpenSubdiv. And that will only happen if the community demands it from their software. So I highly recommend to contact the people behind your favorite applications and ask them to incorporate this method in their software. And I mean everyone: 3dsmax, maya, xsi, houdini, zbrush, mudbox, vray, arnold, etc. Make sure that everyone knows that the public wants this, and having compatible subdivision surfaces will allow more people to use their software, and will allow their software to be used in facilities that could never use it before.

With your help, we can finally put these days of incompatibility behind us, stop worrying about fighting our software, and worry about making great art instead. A huge thanks to all those at Pixar who helped make this happen. Now it's your turn to take the next step.

This essay is ©2012 by Neil Blevins, All rights are reserved.