The Blender Foundation announced yesterday that Pixar will release their OpenSubdiv 2.0 library with a Blender compatible license at Siggraph!
OpenSubdiv 2.0 is "a set of open source libraries that implement high-performance subdivision surface (subdiv) evaluation on massively parallel CPU and GPU architectures. This codepath is optimized for drawing deforming subdivs with static topology at interactive framerates." (read more here).
What does this mean exactly, and what are the potential advantages for Blender? I asked Ton Roosendaal for some insights.
OpenSubdiv is Pixar's open source project to handle Subdivision Surface generation and drawing. In Blender this is currently handled by 1 thread only, and it needs to generate the subsurfed data first, before it can draw.
- allows full threading, including use of GPU
- creates and draws subsurfed "on the fly", so you don't need to generate/store data
- has excellent crease support
- has adaptive (screen space) subdivision
- supports Ptex natively (non UV texture mapping)
In Cycles OpenSubdiv will replace the incomplete subdivision surface implementation, to enable faster BVH builds and lower memory usage for subdivision surfaces, as well as Ptex rendering support.
Integrating will require a lot of work inside Blender however, so it will take some time before there is an official release with OpenSubdiv support. Especially support for multires and sculpt will be complex. A planning for this work and set of actions still has to be defined.
Nevertheless, Brecht is already on it, and expects to have a first WIP demo of Cycles-OpenSubdiv at Siggraph next week!
Note about the license: OpenSubdivs Apache license is only GPL V3 compatible. Blender is "GPL V2 or later", so that should work fine. However, we do need to check every library we use too, some are still GPL V2 only (like Carve booleans).