Slashdot Mirror


Pixar Demos Newly Open-Sourced OpenSubdiv Graphics Tech

An anonymous reader writes "Last week at SIGGRAPH, Pixar Animation Studios announced OpenSubdiv, an open source implementation of the Renderman subdivision surface technology, thus releasing the patents to the long standing Pixar 'secret sauce.' In addition to the offline subdivision scheme, it also includes a GPU implementation. This video demonstrates a realtime deforming subdivision surface running at 50 FPS in Maya (though it is freely available to use anywhere). The source code is available on Pixar's GitHub account." Says the project's site: "OpenSubdiv is covered by the Microsoft Public License, and is free to use for commercial or non-commercial use. This is the same code that Pixar uses internally for animated film production."

20 of 140 comments (clear)

  1. Over my dead body by rachit · · Score: 5, Funny

    Apparently they open sourced it over Steve Job's dead body.

    1. Re:Over my dead body by K.+S.+Kyosuke · · Score: 5, Funny

      So you suggest that they should have used the OSJDB Public License?

      --
      Ezekiel 23:20
  2. Re:Opensource and MPL? by dgatwood · · Score: 5, Informative

    It's a pretty reasonable open source license, actually. It is basically a BSD license, plus a patent grant, plus a mutually assured destruction clause regarding patent suits. I'm most impressed by the fact that it is about three fewer pages than the average open source license seems to be these days. A normal person might actually be able to comprehend it. :-)

    --

    Check out my sci-fi/humor trilogy at PatriotsBooks.

  3. Re:Opensource and MPL? by Revotron · · Score: 5, Insightful

    ...And this type of reaction is why more companies aren't exactly tripping over themselves to open their code.

    It's free for non-commercial AND commercial use. What the fuck else do you want? Are you really that offended that their open-source rendering library has the word "Microsoft" even tangentially related to it? Do you really think they would publish it under GPLv3, which could potentially force them to open their entire codebase?

    Don't look a gift horse in the mouth.

  4. Re:Opensource and MPL? by Stewie241 · · Score: 5, Informative

    According to wikipedia:

    This is the least restrictive of the Microsoft licenses and allows for distribution of compiled code for either commercial or non-commercial purposes under any license that complies with the Ms-PL. Redistribution of the source code itself is permitted only under the Ms-PL.[12] Initially titled Microsoft Permissive License, it was renamed to Microsoft Public License while being reviewed for approval by the Open Source Initiative (OSI). The license was approved on October 12, 2007 along with the Ms-RL.[11] According to the Free Software Foundation, it is a free software license but not compatible with the GNU GPL.[6]

  5. Re:Opensource and MPL? by dgatwood · · Score: 5, Informative

    Wikipedia is wrong. From opensourcelegal.org, it is compatible with the GPL, but only with GPLv3. GPLv2 is incompatible with patent retaliation clauses. GPLv3 is not.

    Incidentally, GPLv2 without an "and later" clause is also incompatible with GPLv3 for the same reason.

    --

    Check out my sci-fi/humor trilogy at PatriotsBooks.

  6. Re:Does not make sense to me by dgatwood · · Score: 4, Informative

    Moreover, publishing the source code does not "release patents" in any meaningful sense...

    Actually, in this case, it does. The Microsoft Public License has an explicit patent grant for all included technology.

    --

    Check out my sci-fi/humor trilogy at PatriotsBooks.

  7. Re:Does not make sense to me by ceoyoyo · · Score: 4, Informative

    You should read the license. It includes a worldwide, royalty free license grant. It does indeed "release patents" with the small qualification that if you sue Pixar for patent infringement your royalty free license is automatically yanked.

  8. Re:Opensource and MPL? by makomk · · Score: 4, Informative

    It may help if you know that it predates GPLv3, and so was incompatible with the GPL at the time it was created by Microsoft.

  9. Re:Opensource and MPL? by dgatwood · · Score: 4, Funny

    My faith in humanity is restored. No, wait....

    --

    Check out my sci-fi/humor trilogy at PatriotsBooks.

  10. As good a time as any by Daniel+Phillips · · Score: 4, Interesting

    Our intent is to encourage high performance accurate subdiv drawing by giving away the "good stuff".

    I want to be wrong about this. I really do. But I read this as "our intent is to establish a tie to our proprietary products Renderman and Maya via a license carefully designed by Microsoft to be incompatible with GPL, and thus Blender."

    Well, this would be as good a time as any to point out that Maya is not the only game in town. There is Blender of course. And there is my as-yet-unannounced project based on a half edge meshing technology that is way superior to the creaky old infrastructure Maya relies on. There are already some great results in terms of high complexity meshes and excellent real time performance. So far it has been just me pushing on the code, but that should change pretty soon. Go here to find out about World Welder. Check out some demo images here, here and here. Those are all high triangle count, high complexity meshes rendering at smooth interactive frame rates on low end hardware. There are various algorithms in use. The 3D Freetype Unicode fonts are done with Root3 subdivision, arguably superior to Catmull Clark favored by the Maya crowd. Still lots of work to do to implement boundaries, creases, deformable heirarchy and the like, but the base it's built on is solid as a rock. And really compact as well, yes sometimes you can have it all. Anyway, I will be making a more official project announcement in due course but for now, a tarball is online here. I apologize in advance for the documentation quality, but not for the code quality. Please be kind to my server and don't browse all the images, it's just a cable modem with pathetic upload bandwidth. (By the way, sponsorship in the form of web hosting would be much appreciated.)

    There remains much work to do, sigh, there always is. But this is already the skeleton of a nice 3D meshing workbench, and it is time to put some meat on the bones. Language is C++11, scripting is Lua, GUIs are GLX and QT, revision control is Mercurial, license is GPLv3. Anybody who wants to join the mailing list is more than welcome, developers and future users alike.

    --
    Have you got your LWN subscription yet?
    1. Re:As good a time as any by Em+Adespoton · · Score: 5, Informative

      Our intent is to encourage high performance accurate subdiv drawing by giving away the "good stuff".

      I want to be wrong about this. I really do. But I read this as "our intent is to establish a tie to our proprietary products Renderman and Maya via a license carefully designed by Microsoft to be incompatible with GPL, and thus Blender."

      You'll be happy to know then that you're likely at least partially wrong.
      First: http://www.blender.org/BL/ -- from this, you may conclude that their intent is to force Blender to activate the Blender License.
      Second: Blender is licensed under "GNU General Public License v2 or later" -- and that "or later" bit is key here, as the MS-PL is compatible with GPLv3, just not with GPLv2. The end result of this is that the code is compatible with any GPLv3 code *and* any GPLv2 code with the "or later" clause that is used with Blender libraries and derivatives. It should also be compatible with the LGPL.

    2. Re:As good a time as any by poly_pusher · · Score: 5, Interesting

      Being a 3D artist this does interest me. I use Modo, Maya, Zbrush, and Mudbox frequently and subd standard is very useful. Does your intended implementation share subdivision order Pixar's spec? Does UV smoothing result in identical UV borders? Currently this is a pretty big problem with multi-app workflows. For instance, a multiresolution mesh that has been smoothed in Zbrush results in different smoothing than a mesh that is smoothed with Pixar Psub subdivision surfaces in Modo. Even more confusing is that this difference also appears when comparing Mudbox to Modo. They both use the Catmull Clark subdivision standard however do not share identical UV smoothing. This can be overcome with linear UV's but that in itself causes problems for 2d texture painting. They do however seem to share point order from tests that I've done. Open-source subdivision technology originating from Pixar sounds like a wonderful thing that could alleviate some of the problems I mentioned. After all it's coming from the source of subdivision technology. Catmull Clark subdivision was created by Ed Catmull of Pixar and Jim Clark, co-founder of Silicon Graphics. Many of the custom implementations of subdivison surfaces I have seen cause a lot of problems on exchange. Modo's custom implementation of subd's prior to incorporation of Pixar Psub was pretty slick actually. It was fast, allowed for N-gons and supported some very dirty edge creasing. So it had big drawbacks when exchanging with other apps like Maya before they added Psub's. I guess my point in mentioning all this is that I hope what you are working on is capable of accommodating these kinds of needs, otherwise I and many other artists may not be able to use it due to workflow additions. Although it's very cool and I'd love to hear more about what you are doing.

    3. Re:As good a time as any by TheRaven64 · · Score: 4, Insightful
      Hmm, which license do we blame for incompatibilities? Two choices:

      In one corner, there's a short license that permits distribution in any form, includes a patent grant, and places no restrictions on people downstream other than revoking their patent license if they sue others and does not place any restrictions on what code can be linked to it.

      In the other corner, we have a multi-page monstrosity that places strict restrictions on exactly what can be linked with it to such a degree that different versions of the same license are mutually incompatible.

      Now, personally, I'd blame the second one.

      --
      I am TheRaven on Soylent News
  11. Re:Opensource and MPL? by dgatwood · · Score: 4, Insightful

    Let's put that claim to rest right now. It's the opposite of reasonable. Instead the Ms-PL is intentionally designed to divide the open source community. See this informed discussion. [lwn.net]

    Sorry, but that discussion is just about as uninformed as they get. License compatibility does not mean that you can strip off one person's license and copyright and substitute your own. Compatibility means that you can combine the two in a single piece of software. The way you do this is by including one piece of code, complete with license and copyright notice, and call functions in that piece of code from another piece of software with different licensing terms. In no case is code licensed under a different set of terms, except insofar as effectively the product as a whole is governed by the union of the restrictions.

    What makes a license incompatible are clauses in one license that do not allow you to impose additional restrictions, coupled with terms in the other license that impose additional restrictions above and beyond what are allowed by the first license. Such a situation does not exist here, so the licenses are compaible.

    If your definition of "compatible" requires being able to substitute the GPL's terms, then there's no such thing as a GPL-compatible license other than either a dual-licensed work, a work licensed under the same version of the GPL, or a work in the public domain (and because not all countries recognize the right of an author to place a work in the public domain, there's no such thing as a GPL-compatible license at all by that definition other than a dual-licensed work). Your definition is thus completely unreasonable and nonstandard.

    --

    Check out my sci-fi/humor trilogy at PatriotsBooks.

  12. Re:Opensource and MPL? by ceoyoyo · · Score: 4, Interesting

    Why not? To my reading the MSPL is considerably freer than the GPL. It's also a quarter of a page long and written in plain language. It also doesn't seem to conflict with the GPL 3.

  13. Re:Opensource and MPL? by ceoyoyo · · Score: 5, Insightful

    Boo hoo. All the criticisms apply equally or more to the GPL. The license seems to be about halfway between the BSD license and the LGPL. You COULD make a library out of the MSPL code and link to it from GPLed code. Unless something in the GPL forbids that.

    It's pretty hypocritical to criticize a license for requiring that redistribution of the source of that code or derivatives must be under the same license and then turn around and recommend everyone use the GPL instead.

  14. Re:Opensource and MPL? by mkiwi · · Score: 5, Funny

    Let me explain the license in simple slashdot terms:

    1. The license was penned by Microsoft, therefore it is evil.
    2. Pixar is releasing the code. Pixar was financed by Steve Jobs into a multi-billion dollar corporation. Corporations and Steve Jobs are evil, therefore the only logical thing to conclude about Pixar's intentions is that they are evil.
    3. The license is not GPL, or some similar Google license, so it is patent encumbered. Patents are evil, so the code is evil.
    4. Any open source code should be GPLv3 because RMS says so, therefore the everything about this code dump is designed to embrace, extend, and extinguish s some already existing but half done FOSS alternative. That is evil.

    How could this code and its license be any more evil? I've just proved to you that this whole thing is like the spawn of Satan––or Blizzard entertainment, 'cause they can't fix Diablo III.

    Discuss below.

  15. Re:Jesus Christ! by ceoyoyo · · Score: 4, Informative

    "-Is this the REYES algorithm?"

    No

    "-Does it differ in important ways from the Catmull-Clark subdivision that's pretty much standard in off-the-shelf 3D software?"

    No. It is that exactly. But GPU accelerated so it runs in realtime.

    "-With the increasing prevalence of raytraced GPU/coprocessor rendering replacing rasterisation in near-realtime applications, is this tech now mostly irrelevant?"

    No. You still need geometry to render, whether you use ray tracing or not.

    "-What are some things the release of this technology might make possible?"

    Prettiness. In realtime.

    "-Does this have any impact on the patent encumbrance surrounding Renderman's nearly-free motion blur?"

    No.

    "-How much longer were those REYES patents going to last anyway?"

    Don't know. Off topic.

  16. Hmm... by sootman · · Score: 4, Insightful

    There are currently 12 comments at +5 and only one talks about the software--the other 11 are about the license. Dropping down to +3 doesn't help any.

    Can anyone else here weigh in on the technology itself?

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.