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."

41 of 140 comments (clear)

  1. Re:Opensource and MPL? by Anonymous Coward · · Score: 2, Interesting

    Can anyone explain what the consequences of it being released under Microsoft Public License are? Is it toxic to OSS ecosystem, or is it just GPL incompatible (and presumably part of the "extend" part of MS's attack on FOSS)?

  2. 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:Over my dead body by hairyfeet · · Score: 3, Informative

      Uhhh...wasn't those all things that ALRAEDY were Open Source and Apple just threw some money at them? I know webkit was KHTML from the KDE guys and frankly wouldn't be surprised if the others are similarly open source software that Apple found useful and decided to sink some money into.

      After all Microsoft is in the top 10 when it comes to contributions to the Linux kernel, that don't make them a friend of Linux.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    3. Re:Over my dead body by TheRaven64 · · Score: 2

      CUPS is not Apple-originated, but Apple did buy the company that created it. Libdispatch is entirely Apple-original. LLVM is not, but Apple-paid developers wrote a significant amount of the code (I think they're now down to less than half, but that's because of others - including Google - contributing more, not Apple contributing less). Clang was originally created by Apple, open sourced, and a lot of code contributions still come from Apple. Launchd was created by Apple, released under the APSL, and then relicensed as Apache 2 at the request of FreeBSD developers. Darwin Streaming Server and Calendar and Contacts Server (CalDav / CardDAV server) are also Apple-originated open source projects. Oh, and so is mDNSResponder.

      Those are the ones from the top of my head, but Apple has also contributed to a number of projects that they did not create, which is in my mind more laudable than reinventing the wheel...

      --
      I am TheRaven on Soylent News
  3. 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.

  4. 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.

  5. 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]

  6. Re:Opensource and MPL? by houstonbofh · · Score: 2
  7. Does not make sense to me by K.+S.+Kyosuke · · Score: 2

    "an open source implementation of the Renderman subdivision surface technology, thus releasing the patents to the long standing Pixar 'secret sauce."

    The Renderman Interface spec already contains how the subdivision surfaces are supposed to be described and computed, so we know how to do that. There are already other implementations. Moreover, publishing the source code does not "release patents" in any meaningful sense, not to mention the fact that patents are, by definition, public.

    --
    Ezekiel 23:20
    1. 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.

    2. Re:Does not make sense to me by tian2992 · · Score: 2

      Did you read the MS-PL? The licence they are using to release it includes a patent grant, and a potential protection on patent suits.

    3. 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 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.

  9. 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.

  10. Re:Opensource and MPL? by Anonymous Coward · · Score: 2, Informative

    If you're going to accuse me of something, just say it. Don't be that karma-shielded AC who throws accusations around like playthings.

    http://en.wikipedia.org/wiki/GPLv3#Libraries

    Richard Stallman and the FSF specifically encourage library-writers to license under the GPL so that proprietary programs cannot use the libraries, in an effort to protect the free-software world by giving it more tools than the proprietary world.

    Following this assertion by RMS and the FSF, Pixar's release of their surface rendering library under the GPL would be an immediate violation as their own proprietary rendering systems obviously utilize this library. Therefore, if they wished to release it as GPL, they would subsequently be forced to A) Stop using it outright, or B) GPL their own in-house software that links to it to avoid being in violation of the GPL.

    No sir, YOUR massive misunderstanding of licensing requirements makes your "accusations" of me suspect.

    Huh? They own the copyright. A copyright holder can never impose limitations on themselves that they don't wish to adhere to. If you read the license on installation, Microsoft gives no one the right to redistribute Windows. Do you think that includes themselves as well somehow?

    Either you are willfully ignorant or stupid.

  11. 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.

  12. Re:Opensource and MPL? by Anonymous Coward · · Score: 3, Informative

    Sir, that is wrong. Since that would be a license they are releasing it for OTHERS. They, on the other hand, are the holders of the IP, therefore entitled to use it as they want under any conditions they wish. They also keep the right to re-release it under any other license they want, and hell, even grant others a license that allows any other set of liberties. Therefore, no, they could perfectly release it as GPL and still use it themselves.

  13. 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 jedidiah · · Score: 2, Interesting

      You've got things backwards. It's the MSPL is engineered to be a poison pill. The GPL is much older and much more well established.

      It's anything newer that's going out of it's way to be hostile to the GPL or copyleft generally.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    3. 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.

    4. Re:As good a time as any by Lose · · Score: 2
      While its just a YouTube comment, it seems a Pixar representative made some comments of his own. Amongst them was one which explicitly stated that Blender can implement OpenSubdiv if they wanted to.

      Of course the comment holds no legal weight whatsoever, but its an encouraging sign.

      A snip from that comment (emphasis mine):

      OpenSubdiv is a free open-source API : any software vendor can implement our code in their application, including Maya, 3DS Max, Mudbox, Mari or Blender. The implementation is based on a joint research effort between Pixar and Microsoft Research.

    5. Re:As good a time as any by Daniel+Phillips · · Score: 2

      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?

      Pixar compatibility is not a feature I intend to code myself, however anybody who wants to take it on is welcome. The World Welder meshing API is clean, powerful, efficient and nice to work with. Currently, there is no UV interpolation in the subdivision algorithms at all, that work is upcoming. Any acceptable interpolation must produce identical UV at matching borders, anything else is a bug.

      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.

      To tell the truth, Catmull-Clark was the first and worst of the crop of modern subdivision algorithms. It has terrible behavior when valence varies, and valence does vary a lot in many practical situations. On the whole, Root3 kicks Catmull-Clark to the far side of the moon in terms of predictable behavior, tolerance of a wide variety of mesh topologies, and unlumpy, uncrinkled results. Root3 actually has a pretty carefully considered mathematical basis whereas Catmull-Clark is more like mathematical goulash, with its blending constants basically pulled out of thin air. Its main redeeming quality is, it has been implemented a lot, a lot of artists have learned to work around its nasty bugs, and as you allude to, you can **sometimes** port meshes between different tools. I don't care about it a whole lot, but anybody who does is welcome to send patches.

      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.

      Points noted. I will not do this particular work myself but I will place it in a respectable position on the todo list for potential contributors. I'm actually more interested in pushing forward with the kind of modeling that will make you not want to bother with the proprietary tools you mentioned. Do be sure to check out the demo pictures and ask yourself whether Maya can even do some of those things in any reasonable way.

      --
      Have you got your LWN subscription yet?
    6. 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
    7. Re:As good a time as any by Daniel+Phillips · · Score: 2

      The GPL v3 accomplished the important goal of extending GPL compatibility to the Apache license among others. Losing compatibility with GPL v2 has been at most a minor annoyance while bringing Apache into the fold has proved to be of major importance.

      --
      Have you got your LWN subscription yet?
  14. Re:Opensource and MPL? by symbolset · · Score: 2

    This is not how copyright works. There is no rule that says that a creator cannot offer their product under many different license terms, nor requiring them to conform to the license terms they require of others. It remains their product to do with as they will until they transfer ownership of the copyright.

    --
    Help stamp out iliturcy.
  15. 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.

  16. 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.

  17. 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.

  18. 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.

  19. Re:Opensource and MPL? by BronsCon · · Score: 2

    You make a good point, but you're missing a better one. The only way Pixar would ever be required to release *ALL* of their source code, as a result of licensing this module under GPL, is if they were to distribute *ALL* of their binaries, as well. Since they aren't doing this, and they aren't going to do this, they don't have to release source for anything. Now, if GP were in any way correct, they would have to release source for any binaries they distribute that make use of this library, were it released under GPL. But, then, GP couldn't be much further off base, so it's a moot point.

    --
    APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
  20. Re:Opensource and MPL? by ultranova · · Score: 2

    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.

    Don't worry, I'm sure there's a Service Pack on its way to deal with this legal bug ;).

    --

    Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  21. Re:Opensource and MPL? by ultranova · · Score: 2

    Don't look a gift horse in the mouth.

    Beware of Greeks bearing gifts.

    --

    Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  22. Jesus Christ! by jackbird · · Score: 3

    Can you people stop pissing and moaning and hairsplitting about license terms and allow some discussion of what this tech means for the medium-term future?

    A few questions I'd certainly love to get answered from someone who's knowledgeable:

    -Is this the REYES algorythm?
    -Does it differ in important ways from the Catmull-Clark subdivision that's pretty much standard in off-the-shelf 3D software?
    -With the increasing prevalence of raytraced GPU/coprocessor rendering replacing rasterisation in near-realtime applications, is this tech now mostly irrelevant?
    -What are some things the release of this technology might make possible?
    -Does this have any impact on the patent encumbrance surrounding Renderman's nearly-free motion blur?
    -How much longer were those REYES patents going to last anyway?

    1. 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.

  23. 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.
    1. Re:Hmm... by mapuche · · Score: 2

      >Can anyone else here weigh in on the technology itself?

      Pixar's subidivision surfaces are very efficient in terms of graphic visualization, parametrization, deformation and texturing. Other implementations are significant slower. The Pixar video presentation at SIGGRAPH shows they work great in realtime, something important when you're doing animation. As an example, NewTek Lightwave Catmull-Clarck subdivs have serious implementation problems, something that can be solved with opensubdivs. Luxology Modo had to license this technology a year ago to become competitive.

  24. Re:Opensource and MPL? by dgatwood · · Score: 3, Insightful

    Uh... there's no such thing as a license that doesn't require you to distribute the code under that license, and requiring someone to include a complete copy of the license is also pretty much the norm. By your definition, all non-GPL licenses are incompatible with the GPL. Sorry, but licenses don't work that way. GPL-compatible does not mean that you can simply copy and paste code willy-nilly into a GPL project.

    --

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

  25. Re:Opensource and MPL? by bhcompy · · Score: 2

    Isn't that Blender's problem, then? Why didn't blender make it MSPL so it could be used?

  26. Re:Opensource and [MS-PL]? by butlerm · · Score: 3, Insightful

    GPL-compatible does not mean that you can simply copy and paste code willy-nilly into a GPL project.

    Most BSD style licenses are unencumbered enough that you can relicense direct derivatives (not just composite works) under practically any terms you want. Commercial companies do this all the time, and it is in fact what makes BSD style licensing for open source software projects so controversial - anyone can create a proprietary fork at will, with components that quickly lose their BSD character as modifications are added.

    GPL licensed derivatives of BSD licensed components can be created in the same manner. It is the copyright of the authors of the modifications that makes the relicensing have teeth, it is the lack of a prohibition on additional license terms in BSD style licenses that makes it possible.

    The MS-PL, on the other hand, specifically prohibits this practice, much like the Mozilla Public License (MPL). Both are moderate copyleft licenses, designed to make sure that derivatives of covered source files are always available under the terms of the original license.