Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Graphics Software GNU is Not Unix

SIGGraph and Open Source 193

SeanCier writes "The SIGGraph 2004 conference showed off a lot of trends: high-dynamic-range (HDR) displays and video, suddenly ubiquitous general-purpose GPU programmability (it's not just for polygon shading anymore), 3D and high-colour displays, ever-more-refined fluid dynamics, crowd animation, and point-based graphics, to name just a few. But there was an unspoken undercurrent, a trend that's waiting to happen in the visual effects community, and happen in a big way: Open Source." Read on for more.

There are plenty of examples of open source and the graphics community getting along grandly: Gimp and CinePaint (aka FilmGimp), ILM's OpenEXR, and projects like Open Scene Graph. Linux, in particular, has made spectacular inroads: nearly everybody uses it for rendering, and many (most?) use it as their desktop OS of choice. In the RenderMan user's group (I'll get into RenderMan more in a minute), for example, somebody asked how many people used Linux as their main OS. Plenty of hands, and some approving chuckles all around. Mac OS X? A few hands, and woots. Windows? No hands at all -- and moreover, an handful of boos, followed by everybody cracking up as they realized the whole community was abandoning Microsoft wholesale.

But then there's the other side. All the major visual effects and animation studios -- ILM, Pixar, Dreamworks, Digital Domain, Blue Sky, Disney, and so on -- have a team of programmers in-house. Five, ten, two dozen, or more. They're the ones that'll write the software that does special rendering algorithms for Shrek 2, or an animation control system for Mr. Incredible, or produce massive crowd simulators for Lord of the Rings. Things that commercial software doesn't quite do -- or that nobody else has tried to do, or even thought of. Things they need to do just so. Things they need to do now.

Everybody has a ton of custom software written -- often good software, with flexible frameworks and clever hacks. Moreover, they don't want to rely any more than necessary on commercial software, because if ILM finds a bug in Maya that holds them up or slows them down, they best they can do is pay Alias to fix it fast (i.e. weeks) and then have hundreds of animators waste thousands of hours time working around it for weeks. And worse, if Digital Domain buys Alias and decides they'll keep new versions of Maya to themselves, ILM is simply screwed, in a big way. If they want to get a particular feature in Maya, and a plugin won't cut it? Well, that's even harder -- and involves more money and more time.

So ILM writes their own stuff whenever they have to, and whenever they can. And Digital Domain writes their own stuff. And Dreamworks writes their own stuff. And Disney writes their own stuff.

And most of it is all the same stuff. Fluid dynamics? Hair? Subsurface scattering? Muscle-and-skin systems? Crowd control? Dozens of topics -- and every studio pretty much has pretty similar, rather redundant code to do 'em all.

These studios aren't in the business of writing software, they're in the business of making movies. So why are they spending their time and money writing software? Because they have to; it's a Necessary Evil.

So, what if they all worked on Open Source stuff instead? Look at what I just wrote. Every word is a reason to go Open Source. No drawbacks, all upside: no lock-in, you can fix stuff, you can add stuff, you don't have to wait on anybody else, and plus, you can do all this while also using what others have written.

The knee-jerk reaction that may be some executives' first objection: our code is a strategic advantage, giving it away would be throwing away money. If we can do hair and our competitors can't, we'll make better films then they can (and, if it's a visual effects studio, we'll win contracts based on that unique ability).

Bull honkus. If your competitors need hair, they'll write hair software, no problem. Another quote from the Pixar RenderMan user's group, this one by a RenderMan developer (paraphrased): "this is based on the subsurface scattering papers from a couple years ago. Everybody does this, based on those papers." Nope, I don't see strategic advantage there: I see waste.

It is, as they say, a win-win scenario; the studios contribute their code to Open Source projects, and everybody helps make that code better. ILM started it in a small way, with OpenEXR, and it worked: OpenEXR is *the* format for high-dynamic-range images, no questions asked. Did it benefit ILM? You betcha: major packages everywhere (Photoshop, RenderMan, etc) either import/export OpenEXR now, or will soon. Pixar even contributed new compression code.

So, a great scenario, and proof that it works. Why hasn't it happened in a bigger way yet? Fear of the unknown. But listen close, and you'll hear a flood coming that could change the landscape -- and it's hard to divert a flood.

That leaves only one question: how will it start? Well, it could begin with open source projects becoming valuable to studios, as started happening with Gimp (though here I'm talking more about advanced 3D animation, simulation, and rendering; Blender's great for what it does, but medium-to-large studios aren't its intended audience; it's not going to displace Maya any time soon, because it doesn't offer anything that Maya lacks as far as the studios are concerned). Or it could start with a studio making a bunch of their custom in-house software Open Source (like ILM did with OpenEXR). Either way, it's up to us as a community -- either to write the software or to sell the concept.

I'd suggest that a great place for all this to start would be with Pixar's PRMan (PhotoRealistic RenderMan, these days often called just RenderMan). And note I say this as a shareholder. Selling RenderMan and related software accounts for less than 5% of Pixar's revenue; the real reason -- the *only* business reason -- they still develop it is for the other 95% of the company to use. If open-sourcing it would bring in collaboration and improvements that would make them just 5% more efficient in generating movie revenue, doesn't that justify the decision right there? And of course that's not counting those who would still pay for service contracts, or the reduction in development costs that could come from the rest of the community helping with their R&D (the budget for which, BTW, surpasses their software revenue). RenderMan has always been a product ahead of its time, and that's why -- despite Pixar's belligerent and hostile use of patents and close-held IP -- it's still the golden standard in this industry. The RenderMan protocol and API was intended fifteen years ago to be a renderer-independent standard, the PostScript of the 3D world. That dream died because of Pixar's unwillingness to release IP: it became difficult or impossible for others to implement that standard officially, or at all, because Pixar grasped the it so tightly (case in point, ExLuna: their lawyers summarily killed what was the best chance in years of having a RenderMan-compliant renderer with new and different functionality, complementary to PRMan). But the renderer -- PRMan -- doesn't have to die through the same mistake, even in the face of an ever-shrinking market share and competitors with the advanced global illumination algorithms PRMan lacks.

But that's not to say Pixar is the only -- or even the best or most likely -- option here. They most certainly don't hold all the cards. So, don't sit back and wait for Pixar or another studio to start the ball rolling: we need to give it a push.

This discussion has been archived. No new comments can be posted.

SIGGraph and Open Source

Comments Filter:
  • linux? WOW (Score:1, Interesting)

    by Anonymous Coward on Sunday August 22, 2004 @05:18PM (#10039450)
    hum... didn't know linux was so popular? At my university the graphic professor is doing all this work on windows... and he has plenty of cool stuff done.

    If I had known I would've purchased a Nvidia card over an ATI.
  • by Simon South ( 8535 ) on Sunday August 22, 2004 @05:27PM (#10039491) Homepage
    I'm referring to the example Sean gives in the article of OpenEXR.

    But I'll grant you that I am perhaps indulging in a bit of wishful thinking.
  • Roll your own (Score:3, Interesting)

    by deanj ( 519759 ) on Sunday August 22, 2004 @05:32PM (#10039517)
    Back in the old days, Blue Moon (I think that was it) had a Renderman package you could download. The person that did it ended up getting hired by Pixar, and has been there to this day.

    Here's the thing.... Pixar isn't going to open source Renderman. They just aren't. The best bet is to get a group of people together and create their own open source version of it. It's been done before, and it can be done again.
  • by FueledByRamen ( 581784 ) <sabretooth@gmail.com> on Sunday August 22, 2004 @05:34PM (#10039525)
    As a student, I use Pixar's tools - Renderman Artist Tools 6.0 and Renderman Pro Server 11.5.3, plugged into Maya 5.0.1.

    Why did I start using these tools? Maya's Fur renderer was (and still is) a complete piece of shit. No offense to anyone who's actually gotten it to work well, but... damn. If you've ever used it, you'll know what I'm talking about, specifically in regards to the lighting, and trying to match it to the rest of your scene. And yes, I've tried Maya 6 rendering out Fur in Mental Ray - something about trying to allocate several gigs of RAM just for the Fur, where PRMan would use 800 MB for the whole scene, turned me off from that. And RAT includes a plugin to build Fur out of RiCurves primitives. Perfect match, right? Of course.

    Well, it was lacking a couple of features. Specifically, Attractor Influence Start and Influence End (specifying how far along the length of each hair dynamic attractors would affect the curve direction). Thankfully, Pixar decided to throw in the code for the mtorFurProcedural DSO with the toolkit. So I added the 6 (or so) lines of code needed to implement those features, recompiled, and it now works perfectly, exactly the way I'd expect it to.

    And then the shading model being used wasn't giving me the results I needed. I took a look at a paper (from a previous SIGGRAPH) on the fur shading used in Stuart Little, specifically in regards to mixing the underlying surface's normal with the hair normal. Sounds like a good idea, think I'll try that. Oops, the plugin doesn't pass that information to the shader. 10 lines of code later - a new shader variable, surface_normal, has been added. And after modifying a shader to take advantage of that (loosely based on the example code in the paper), the shading looks infinitely better than anything I EVER got out of Maya. Score another point for having the source.

    Unfortunately, there was also another bug, this time in the mtor_maya5 plugin (which, being the bulk of the product, is NOT open source). I had to reimplement the command that the mtorUltraFur RIBGen plugin was using to dump the surface information (for each uv coord: x, y, z, normal vector, u vector, v vector), because its handling of trimmed NURBS surfaces was broken. That was irritating, but made possible because I had the source to the plugin and was able to change the command that it was calling (to my own plugin's name). (Though it would've been easier if I had the source to the mtor_maya5 plugin as well...)


    So, because I got the source with the tools, I was able to very quickly fix the problems that showed up, and tune them to do exactly what I needed them to do.
  • by G4from128k ( 686170 ) on Sunday August 22, 2004 @05:36PM (#10039532)
    I notice that the NVIDIA 6800 [simhq.com] has 220 million transistors. If they added a few million more transistors or sacrificed a few pipes for a RISC processor, the chip could do all the computation for the system. For people whose only demanding applications are graphics-intensive games, a CPU-on-GPU design might be a great idea. Admittedly, this solution does nothing for servers, but then it does not seem like servers are driving the mass-market PC technology at the moment.
  • by oquigley ( 572410 ) on Sunday August 22, 2004 @05:37PM (#10039540)
    It was an interesting Siggraph for display technology.
    That high-dynamic range monitor was far and away the coolest innovation (it's contrast range is like, 300 times higher than ordinary monitors. When they set it to maximum brightness it actually takes your eyes a moment or two to adapt when you go from a bright part of an image to a dark part).
    And modern graphics cards actually have the precision to make a huge gamut like that useful. Hopefully they'll take off and we'll see games start to use it. It really made all of the other monitors look dim and washed out.

    There were a bunch of different naked eye 3D displays. Nothing fantastic, but still pretty cool, although headache inducing if over-indulged in. I'm guessing that they'll be used for trade shows...

    Another group was showing a projection system with 6 primary colors.
    large color gamut display [siggraph.org]
    They ganged up two sets of projectors. One with straight up RGB, and another with CMY (I think!), and by overlaying the two they were able to get a much wider color gamut than traditional RGB monitors. It was very hip, but I have trouble imagining it ever leaving a research lab.

    There was also some cool stuff done by registering lots of projectors together to get very large, very high resolution displays, without any visible seams. It would make for a cool game room (assuming that you had a machine that could drive a 4000 X 12000 pixel display!).

    Still the high dynamic range monitor is the one that I'm lusting after...


  • by furiousgeorge ( 30912 ) on Sunday August 22, 2004 @05:40PM (#10039551)
    As somebody who works in 3D graphics, there are so many things wrong with this I don't even know where to start.

    You just don't get it.

    Damn zealots are boring.

    I'll take one example:

    "case in point, ExLuna: their lawyers summarily killed what was the best chance in years of having a RenderMan"

    Um - no. PIXAR killed ExLuna. They sued them into the ground. Then even took the nasty step of not only suing the company, but suing the founder (Larry Gritz) and others. Hello - software patents? And even though ExLuna claimed they weren't violating them, it was easier to settle than fight with somebody who could/did crush them like a bug.

    (FYI - ILM considers OpenEXR to be a big failure. They've gotten pretty much zero contributions back from anybody. It's only take take take. It still helps ILM because they're getting most other packages to implement the format so they can make their pipeline more unified, but whether that was more or less effort that open sourcing the package in the first place is subject to debate).

    I'm not even going to refute the rest of your points because it's a waste of time. You don't get it.
  • Re:Roll your own (Score:4, Interesting)

    by cmowire ( 254489 ) on Sunday August 22, 2004 @05:46PM (#10039578) Homepage
    Ahh, but you aren't aware of the rest of the story.

    Said creator of BMRT (Blue Moon Rendering Toolkit) then left Pixar, commercialized BMRT, was sued into oblivion by Pixar, and the tatterd remnants of BMRT were then picked up by nVidia.

    BMRT is now off the market. Which is too bad, because it was entirely NOT like the traditional renderman rendering engines. It used ray tracing with caustics instead of REYES.

    The problem is, there's certain things that Pixar owns patents for and has been getting progressively more predatory about. So there's a limit to how successful Pixar will let the other renderman engines get.

    Even though, of course, they don't make much money off of it.
  • by jackbird ( 721605 ) on Sunday August 22, 2004 @07:02PM (#10039940)
    But has anyone invented a set of CCD pickups with a 40,000:1 contrast ratio? Thats what I'm waiting for...

    Actually, yes. The poor man's way [debevec.org] (for stills at least) is to take a number of shots with the camera a few stops apart to capture an extremely wide exposure latitude, and recombine them in HDRshop.

    There are also a number of companies making HDRI backs for digital still cameras that automate some portion of this.

    For motion, a beam splitter and a few calibrated and synced cameras could be rigged up in a similar way, although I've not heard of anyone actually doing this.

    The idea isn't to actually produce end results beyond the exposure latitude of film, but rather to be able to color-correct more agressively without banding, clipping, or losing detail.

    Besides, an HDR display is targeted mainly at compositors who actually want to see a film-like contrast range on screen so they know better what the end result will look like; much the way that film sound editors do the final mix in a theater-like room to get the best idea of how movie house acoustics will sound with their mix.

  • by Anonymous Coward on Sunday August 22, 2004 @07:38PM (#10040123)
    The are many ways to make (save) cash out of open source ( see http://www.opensource.org/advocacy/case_for_busine ss.php [opensource.org] for a big picture). There are many success stories of companies that open sourced their softwares, but there were failures too. The problem is that since the "open source" concept is relatively new to company executives, they dont really know how to get the company involved with a community and how to leverage the work comming from the community. I just finished my B.B.A in IT and wrote a paper on open source business models (sry, french is my 1st language). Now I just signed for an other year (lol) and I plan to be doing my master degree on key success indicators of companies open source ventures or something like that. This time I'll have a copy written in english and hope it'll help open source getting more acceptance from company executives.
  • by baxissimo ( 135512 ) on Sunday August 22, 2004 @09:51PM (#10040912)
    Sure, ILM, DD, Pixar, PDI, and the other big boys have all duplicated effort writing essentially the same code, so making everything open source wouldn't really give any one of them a big advantage. But what about Joe's 3D GarageWorks, Ltd.? He's trying to start up his own effects house and having a damn tough time getting all the cool software together. He's only been able to implement a basic photon mapper, and a crappy rigid body simulator. Sure would be nice for him if all the big boys would share their code with him.

    So I just wonder if that could be a reason for the big studios not to want to go whole hog into open source. I.e. it could open up the sluice gates to a whole new flood of competition.

    Well, actually, I suspect the real reason they won't go crazy open sourcing everything in a hurry is just that most of their code so tied into huge knots. After you peel off a few relatively modular pieces like image libraries, you're left with a huge intertwined mess. You can't really open source your "physics engine" because it depends on A,B, and C, which depend on D,E,F,G,and H, which depend on...etc. Whereas with the OpenEXR example, it's just an image lib, and image libs are pretty easy to encapsulate. You've got read() methods that give you an array of numbers, and write() methods that take an array of numbers, and that's about it for the API. A character animation system, on the other hand, well that's got to tie into all kinds of subsystems - meshes, deformers, bones, physics, rendering, etc. It gets pretty messy, unless you set out from the beginning to make components that could be used outside of where they were developed. And that takes longer to do, so what are the chances any of these movie studios would have bothered?
  • by SeanCier ( 12804 ) <scier@PostHorizon.com> on Sunday August 22, 2004 @10:11PM (#10041031) Homepage
    Yes, the panel was fascinating, and dealt the more concretely with these topics than anything else at SIGGraph. I don't agree that the panelists believed wholeheartedly in the viewpoint you suggest; in fact, it seemed to me that most felt that open source would be the ideal thing to do, but that the problems I mentioned in the article -- and those you discuss -- are the stumbling blocks that need to be overcome. But you're quite right in pointing out the, uh, counterpoint: it's not clear-cut, or it would be moot.

    -spc

  • by SeanCier ( 12804 ) <scier@PostHorizon.com> on Sunday August 22, 2004 @10:17PM (#10041068) Homepage
    > Pixar has made a pretty good amount of money off
    > the sale of Renderman. Why give up that revenue
    > stream?

    Because that's not their core business; taking a risk with 5% of your revenue stream that could pay off against the 95% is a gamble worth considering.

    And open sourcing part of their technology (e.g. PRMan) doesn't mean they'd have to give up the entire revenue stream, not by a long shot: those that now pay for PRMan would likely continue to pay for development, bug fixes, and other support -- not to mention secondary software like MTOR and Alfred. But this is the OSS argument in whole cloth, and too big to argue here -- many others have written eloquently on the subject.
  • by black mariah ( 654971 ) on Monday August 23, 2004 @01:08AM (#10041863)
    PRMan's also under constant development and is a source of a large amount of revenue for Pixar. Trust me, there is no reason whatsoever for any of these companies to open source their software. What would they get out of it? Community development? Fuck that. They have programmers that can do whatever they need, ten times as fast as any community could (being paid works wonders for productivity). A warm, fuzzy feeling? ILM has Ewoks when they want warm and fuzzy.
  • by black mariah ( 654971 ) on Monday August 23, 2004 @01:15AM (#10041897)
    People in the graphics community still complain that gimp doesn't measure up. I don't know why open source zealots seem to think everyone loves it.
    That's an easy one. Because most of them have never used Photoshop. Look at all the work Disney put into making Photoshop run under Wine. There's a reason for that. Gimp sucks for anything more than making a new background or a couple of banner ads. I *HIGHLY* doubt that any company is using plain Gimp for ANYTHING. Like the Cinepaint site says, R&H uses their own internal version. I guarantee you it is FAR different than what you download at the Cinepaint site.
  • by Anonymous Coward on Monday August 23, 2004 @02:34AM (#10042142)
    At SIGGRAPH I attended a Birds of a Feather meeting organized by Pixar. They called all the mayor studios, software/hardware vendors and Linux distribution developers to talk about how to standarize their Linux systems.

    Since the demise of SGI and the later migration of the industry to Linux they opened the Linux/Pandora box and want to use a proven and reliable Linux distribution. One of the options is to use a couple of distributions as a guide (Fedora Core 2 & Suse), if any of their programs works with any of these distributions, then a software vendor must make the program work on the other distributions.

    I'm sure someone from the companies involved can talk more about this.

    Titus Maledetto

For God's sake, stop researching for a while and begin to think!

Working...