Pixar's OpenSubdiv Initiative,
And How It Can Help You
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 Director of R&D at Pixar) 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
Here's a good example of some of the artifacts one can get, in this
case, moving a mudbox color map to 3dsmax...
Here's 3dsmax's incompatible creasing algorithm:
And here's the full Catmull-Clark version, notice how much nicer it is:
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.