Pixar's OpenSubdiv Initiative By Neil Blevins Created On: Aug 26th 2012
Updated On: Dec 10th 2024
Software: Any
This discussion gives a little history on Catmull Clark subdivision
surfaces, how they are helpful, how they were folded into a initiative
called Opensubdiv, and why all 3d apps need to have this feature.
Back in 1978, Ed Catmull (former 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. 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...
Here's 3dsmax's incompatible creasing algorithm:
And here's the full Catmull-Clark version, notice how much nicer it is:
To avoid these sorts of compatibility issues, we needed all of the 3d
apps to support Catmull Clark fully.
In Siggraph 2012, Pixar announced the "OpenSubdiv"
initiative. This released 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. Since then, this subdivision
method has been implemented into most of the major 3d packages,
sculpting
packages and renderers, guaranteeing compatibility. We can
finally move our assets
between any of these packages without worrying about subdiv
weirdness.
But if you're an artist, the main thing you can do is make sure your 3d
app has open subdiv, and if so, use it, forgoing the other older
subdivision methods that produce incompatible results (such as
Turbosmooth or Meshsmooth in 3dsmax). While they are
still there so you can open old files, using one unified subdivision
method in every app is the only way to avoid issues when moving stuff
back and forth.
A huge thanks to all those at Pixar who helped make
this happen.