Hacker News new | past | comments | ask | show | jobs | submit login
Pixar open sources production animation code, patents (theregister.co.uk)
237 points by cpeterso on Aug 13, 2012 | hide | past | favorite | 38 comments

Is it too much to hope that someday some of the software at the heart of Pixar's physics simulation systems could be released?

Oh man, that would be awesome. When I went to the legendary SIGGRAPH 2001 Physically Based Modeling course with David Baraff and the late Andy Witkin, they discussed all the ways we could avoid having our numeric solvers "blow up" (basically, when numerical values change too quickly to figure out how to reasonably estimate them). Then Andy somewhat sheepishly mentioned that they don't actually deal with these problems, since their team at Pixar created a direct solver they actually used instead, which solved the many necessary equations symbolically instead of numerically.

This was 2001, so few in attendance had the ability to go off and write an effective direct solver for their project even if they had the right background to do it. So we made do with numeric solvers and patched over occasional blow-ups. That's a picture of how things go. It's not surprising that the pipeline in Emeryville was far more advanced, seeing how Witkin and Baraff created the Maya physics engine as a warm-up for their Pixar system. By now, there are better solvers in many physics systems... yet how much more insanely awesome must Pixar's simulation software be by now?

It's easy to see that this kind of software is highly strategic — Pixar hired world experts to work on this and it must be extremely well-seasoned code, with countless tricky "gotchas" compensated for. It's not hard to see how that gives them a clear competitive advantage.

On the other hand, the potential is enormous. This system is the masterwork, even the life's work, of unbelievably talented people. Erin Catto's work and generosity with Box2D has shown the massive innovation and even cultural value of code like this. How many more amazing things could be created with a simulation engine of the quality Pixar is sitting on?

So although I'm not holding my breath, it would be amazing to see even a small part of their physics simulation in a future open source release. Is that realistic? I have no idea.

Pixar and ILM sim systems are based on PhysBAM.


Subdivision surfaces as implemented in RenderMan have been a thorny issue in VFX for many years. Most production facilities wind up implementing their own version of subdivision surfaces for other production tools, but still rely on Pixar's implementation for rendering. The nature of the patents in Pixar's implementation make it hard for individual facilities to match the final subdiv output, and risky to release their own open-source implementation for fear of revealing a patent dependency.

So this has been a long-time coming, and while the quality of Pixar's implementation is undoubtedly welcome, the main advantage to studios is relaxation of the patent requirement - something Pixar should have done years ago, since all anybody wanted to do with those patents was better utilize the tools they had licensed from Pixar in the first place.

The main reason for this is probably due to the fact that within the last three years, the artists at Pixar have wanted to start using off-the-shelf software for modelling, texturing, animating and compositing, instead of in-house tools as previously.

So now they're using Maya, Modo, Mari and Nuke internally, and these apps need to have support for subd to match what PRMan will output.

Is the Disney division using significantly different tools from Pixar? The two were entirely separate companies until the merger and an upheaval in the workflow that significant is not usually so easy to manage.

Thinking about it, Pixar still have several other important patents that are important to the VFX industry - the main one being stochastic sampling for motion blur.

Arnold and VRay use this and Shake (compositor) had it as well. Interestingly, I heard a story from an ex-Nothing Real employee where Pixar were going to sue Nothing Real over it, but then Apple bought Shake and the issue went away :)

My initial reaction to this was, "Why would Pixar do this and remove such an advantage that they hold against Dreamworks and other animation companies?" And then it dawned on me, the animation is such a small piece of why we love their movies. We love them for their characters and their writing and their stories. The animation is the glue that ties it together so this is actually really rad. Now that people can use this to animate as well as Pixar, it's time for everyone to tell the best stories they can and capture the hearts of future generations, just like Pixar has.

Side question: If Jobs were still alive, do you think this would have happened?

In the past, Pixar chose to hold certain patents close to its chest, and then when 3rd party application developers chose to implement similar features, they had to avoid the patents. This meant that industry standard 3rd party software sometimes had inferior and/or broken implementaions of certain, fundamental technologies. Which caused much frustration when we (Pixar.. I used to work there) started to use those same 3rd party packages ourselves in-house.

Instead of that, how about ... do the research, do the engineering, patent the correct approach, open source a reference implementation, license it properly, and thereby force the industry's hand to "do it the right way" so that Pixar can take advantage of 3rd party tools that implement those particular technologies correctly.

+1 to Manuel, who's been working on this stuff for a while. Cool to see this happen.

Ha, that's a strange disadvantage of patents I'd never thought of. Do you think this happens much with patents outside of this example?

Well, pixar is now a part of Disney, and Disney has open source program http://www.disneyanimation.com/technology/index.html namely ptex. Also, advantage pixar holds is not really technological, it is about their content creators. I would even argue that PDI/Dreamworks has tech advantage, even Imageworks. Also, it has become a fashion of sorts to release stuff into the wild by animation companies:


http://www.openexr.com/ (ILM)


http://www.openvdb.org/ (dreamworks)

there are other examples, but I don't have links on this laptop now.

To answer the side question, I think so for two reasons.

1. He certainly could have had his hand in the pot but Pixar is under the control of Disney/Catmull & Lasseter. Jobs/His family are the largest single individual share holder in Disney but its not like he had/has majority say. If they needed to do this to keep making quality films, even if he was in a particularly bad mood towards OSS (say, Linus decided to say something cheery about OS X), they could tell him to go run his own company.

2. Apple, where Steve was clearly king, would open source or give away software at times, likely when it made business sense and not for the sake of brotherly FOSS love. For example: Contributions to KHTML (Webkit) and Clang, and wholly contributed things like libdispatch, Apple Lossless codec, etc[1].

I'm pretty sure Pixar's move here would be considered a good business move.

1: http://www.macosforge.org

Yep, the animation technology is trivial compared to the content. Sure, Pixar has good animation, but that's never been what's really set it apart.

The Pixar code seems to be released under the "Microsoft Public License" (Ms-PL), which is reportedly* (and no doubt intentionally) incompatible with the GNU GPL.

So it's a nice gesture, Pixar, but, well ... muh.

[I am curious what Pixar were they thinking when they decided to use the Ms-PL... Or was it just ignorance about Open Source?]

* http://www.gnu.org/licenses/license-list.html#ms-pl

Well it's pretty obvious - they want products like Maya, Modo (already has it), SoftImage, ZBrush, Houdini to include this in the future, and they're not going to include GPL stuff in commercial products. LGPL might have been an option though...

I suspect they could have easily found a more FOSS-friendly license which achieves their goals. The exact license depending on the exact goals, but presuming the "normal" GNU GPL isn't appropriate, the GNU LGPL or BSD/MIT licenses might be possibilities.

The Ms-PL, on the other hand, seems to be a license which is gratuitously incompatible with the GPL, simply to be incompatible.

I've seen projects where the README essentially stated "We hate the FSF, so we're using this roughly equivalent and yet incompatible copyleft license to piss them off," but I don't think Pixar are jerks, so I'll put this choice down to simple ignorance.

Seems obvious this has been a conscious choice in order to prevent inclusion into GPL licenced open source software, otherwise why not use a permissive licence like BSD/MIT which would satisfy ALL uses, both in open source and proprietary?

The whole thing which defines MS-PL is that you can take MS-PL licenced code and use it in a proprietary project without supplying source code (like with MIT/BSD), however if you DO supply the source code it must remain under MS-PL (thus viral, unlike MIT/BSD), in other words it was designed to be useful for proprietary projects (which is ground BSD/MIT already cover by being permissive) while preventing it to be used in conjunction with code licenced under GPL by having incompatible terms.

What is wrong with Ms-PL?

The common interpretation is that Ms-PL is intentional designed to work like BSD, but to forbid code to be put under other free and open source licenses.

Ms-PL allows you to distribute derived works freely under any license but only if it is in binary form. If you distribute code in source form, then the license change style and requires that all code to be under the Ms-PL, and only under the Ms-PL. Since practically all free and open source project distribute code in source format, this makes code under Ms-PL incompatible with most projects.

Isn't it incompatible if, and only if, you modify the original? For example, I can make an open source program that uses OpenSubDiv and distribute that open source but I cannot modify OpenSubDiv and distribute the source?

Reading the license text, I do not see any exception for distribution of exact copies. What the license text say's is: if you distribute any portion of the software in source code form, you may do so only under Ms-PL.

Project will use the technology described in the now open patents, but the source code will likely never see any use beyond as a reference manual.

In that case, you could distribute the OSD code under the Ms-PL along with your open-source code.

Here's direct link to github repo: https://github.com/PixarAnimationStudios/OpenSubdiv

This is pretty cool. I haven't followed graphics tech in a while, but Subdivision Surfaces are one of the most important modeling primitives around. Back in the day when Catmull and Clark first developed them Pixar held a patent on them and it was pretty unclear how aggressive they'd be defending it - the controversial removal of Larry Gritz's BMRT didn't bode well. It's great to see them making steps towards an open model at last.

I love this wish list item: "John Lasseter loves looking at film assets in progress on an iPad. If anyone were to get this working on iOS he'd be looking at your code, and the apple geeks in all of us would smile."

There's also an Open Source clone of RenderMan itself...


which (I believe) has received some official support from Pixar. More information:


EDIT: Wikipedia link

I was just contemplating the idea of open source film and that it could only occur in animation and it would be especially helpful if the Pixar source code was open. Now it's time for the creative Linus to emerge and start directing content creation to make awesome open source films.

This already exists, to some extent. The Blender Foundation has produced three open source animated short films using their open source Blender engine. They are pretty cool.

Does this mean Valve's Source Filmmaker can incorporate some of this stuff now, so anyone can make Pixar-quality movies in the future?

This release relates to subdivision surfaces, which provides a way of modelling smooth organic surfaces while dealing with an easier to work with lower resolution polygon cage.


This library is mostly of interest to users of Renderman who need to match the Renderman subd implementation so they can create tools which position geometry on a subd rendered in Renderman.

Pixar-quality movies

This is purely subjective and opinion, but it's hard to qualify something as Pixar-quality based on looks alone. Supplemental to the aesthetics and animation of a Pixar movie are the stories, characters, themes and tones woven into the aesthetics.

Just my opinion, though.

True, but their aesthetics have always been on the current edge of 3D technology IMO, and it shows

Pixar's technology is remarkable in that it's usually ahead of the curve, but it's not beyond the capability of other studios.

Rango was done by ILM and demonstrates what they can do when trying to out-do their quasi-sibling company.

This is fully on my want list. The only thing that would make me happier than this, is if I could feed all the comics I love into the VALVE/PIXAR machine, and cartoons would come out the other side.

There is so much more to it then this, but one can dream :)

That is pretty rad. Nice to see that support for Alembic is on the wish list. Hopefully some of the other studios will contribute back. I've been watching from the side lines hoping to see a robust framework / toolkit emerge in open source that deals with some of these lower-level issues. (Blender has pretty much nailed the high level tool kit).

If anyone is interested and didn't already know, ILM & Sony made a splash into open source last year with Alembic http://www.alembic.io/

pretty epic pixar, thanks! good way to set an example for the rest for the fx community on sharing.

have to say im pretty impressed with the state of the code.

love it when i see ++index in for loops! props.

Wow, just wow. While animation isn't my foray it sure looks like a lot of time and effort has gone into Subdiv only for them to give it away and let you use it for anything. Pixar are amazing and not to mention the end result of Subdiv is as equally as amazing.

Perhaps even more promising is the effort they appear to be putting in to maintaining the open-sourced project.

Obviously Pixar is still using this library, and would love to get fixes and features to fold back into the upstream project, however they are also actively managing and responding to issues being raised. This speaks volumes to how serious they are about supporting this software in its open-source form. I hope this becomes another successful case study of how to do open source, and provides useful feedback and additions for Pixar.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact