Please create an account to participate in the Slashdot moderation system


Forgot your password?
Graphics Software Programming IT Technology

OpenGL 3.0 Released, Developers Furious 643

ikol writes "After over a year of delays, the OpenGL ARB (part of the Khronos industry group) today released the long-awaited spec for OpenGL 3.0 as part of the SIGGRAPH 2008 proceedings. Unfortunately it turns out not to be the major rewrite that was promised to developers. The developer community is generally furious, with many game developers intending to jump ship to DX10. Is this the end of cross-platform 3d on the cutting edge?"
This discussion has been archived. No new comments can be posted.

OpenGL 3.0 Released, Developers Furious

Comments Filter:
  • Question (Score:5, Insightful)

    by Narpak ( 961733 ) on Monday August 11, 2008 @06:56PM (#24561469)

    Is this the end of cross-platform 3d on the cutting edge?"

    Probably not. As long as DX remains solely in the hands of MicroSoft; there will be use for other forms of cross-platform 3D. More so as the "none-MS" OSes continue to grow in numbers.

  • by SanityInAnarchy ( 655584 ) <> on Monday August 11, 2008 @07:01PM (#24561517) Journal

    Jumping ship to DX10 would be nice, if it were cross-platform. (No, Xbox + PC does not count as "cross-platform".)

    Unfortunately for those of us on Linux/Mac, a lot of Windows developers don't care.

    Unfortunately for those of you who think you don't care about this, consider that porting an app generally improves it, and can shake out bugs which aren't as apparent on the other platform -- which means potentially less reliable games, even if you're only on Windows.

    And unfortunately for those of us who hate Vista, that's kind of a requirement for DirectX 10. At least with OpenGL, those in charge have no agenda to push Vista -- so an OpenGL 3.0 game should run on XP, if it runs on anything.

  • Re:Question (Score:5, Insightful)

    by Narpak ( 961733 ) on Monday August 11, 2008 @07:06PM (#24561559)
    Indeed. But preferably games should be possible to play without Wine. Hopefully as Linux, and other OSes, continue to get better and become more "newbie" friendly; it will become interesting for more companies to invest in Linux versions of their games.
  • Re:Question (Score:3, Insightful)

    by Malevolyn ( 776946 ) <signedlongint@gma[ ]com ['il.' in gap]> on Monday August 11, 2008 @07:08PM (#24561575) Homepage
    I considered that as well, but I think these game developers are just overreactiing and throwing a collective temper tantrum. So they didn't rewrite OpenGL (quite a feat), big deal. They still released a new version. Then again I'm one to prefer that something exist and not be quite as good, as opposed to it not existing at all.
  • by fm6 ( 162816 ) on Monday August 11, 2008 @07:10PM (#24561607) Homepage Journal

    Even with a cross-platform graphics layer, we're not seeing a lot high-performance games that run on all of Windows, Linux, and Mac. The problems of developing and debugging this kind of software are big enough to discourage people doing it for multiple platforms in any case.

  • by Lord Lode ( 1290856 ) on Monday August 11, 2008 @07:20PM (#24561709)

    More importantly, you're assuming this is a good idea

    If not for the reasons stated above, then at least for the reason of being able to suddenly convert a lot more games natively for other platforms than Windows more easily.

    that we should be working to clone a Microsoft technology, instead of improving on one which has been open from the start (GL).

    But, how can we improve on it? Just wait?

  • by qbwiz ( 87077 ) * <[moc.ylimafnamuab] [ta] [nhoj]> on Monday August 11, 2008 @07:28PM (#24561767) Homepage

    There are two basic problems with this:
    1) Direct3D is tied to Windows pretty well, so making it crossplatform would be difficult (your DX10 implementation may need to include a lot of Wine).
    2) You'll need the graphics vendors to support the API. With Intel and ATI opening up their specs, we're closer to having a way for the community to make up-to-date graphics drivers, but there's still the problem of NVIDIA. Without them, no one's going to try to write software with this new API, and it seems unlikely that they will ever be bothered to support some new API - remember that they're a member of the ARB, and they decided to go with this OpenGL spec.

  • by Anonymous Coward on Monday August 11, 2008 @07:28PM (#24561773)

    I guess the problem is getting support from the graphic card designers.
    If a fork is made, it would have to maintain compatibility with 'vanilla' OpenGL. Well, isn't that what Wine is doing? Translating DirectX calls to OpenGL ones?

  • Fork it (Score:0, Insightful)

    by Anonymous Coward on Monday August 11, 2008 @07:32PM (#24561807)
    It's a specification, can't we diverge and create a new one by developers for developers? I.e. start a new consortium?
  • by commrade ( 79346 ) on Monday August 11, 2008 @07:32PM (#24561809)

    Gallium3d [] will enable just that. The Wikipedia [] page even mentions DirectX and wine.

    That said, I don't think the uproar over OpenGL 3.0 is as widespread as the summary would have you believe. OpenGL's grave will likely be right next to Unix, X, vi and C (ie. no time soon).

  • by Ynot_82 ( 1023749 ) on Monday August 11, 2008 @07:38PM (#24561839)

    "The library needs to be able to interoperate with current and future video hardware, so that all hardware acceleration features will be available to applications using the 3D library..."

    Now, I know next to nothing about the nitty-gritty details of OpenGL or DirectX,
    but I really thought they were pretty much equal (in terms of being able to fully utilise the hardware)

    I was under the impression that MS wrote the DirectX API, and graphics hardware was expected to provide in interface to GPU operations as per MS's API spec

    On the flip side, OpenGL being less centrally controlled,
    instead graphics hardware provide their own API calls for new GPU operations, and provide this new API call to OpenGL via it's "extension" interface
    and every so often, the OpenGL spec would be updated, with new GPU functions (currently using seperate, per-vendor extensions) would be standardised into a single implementation

    Are developers really saying that OpenGL cannot do things DirectX can?
    I thought as long as (say) Nvidia kept provided drivers, and software kept querying for the hardware's capabilities, DirectX & OpenGL were pretty much on a par with each other....

    Can anyone provide a semi-layman's explanation?

  • by Zygfryd ( 856098 ) on Monday August 11, 2008 @07:40PM (#24561857)

    If you're talking about forking OpenGL... how do you convince Nvidia, AMD, Intel, PowerVR, Apple, Microsoft and who knows how many other companies to implement your incompatible version of the API in their OpenGL stacks?

    However if you're simply talking about GLX/Mesa then you'll be happy to know that it's being reimplemented in the Gallium3D project.

  • by ( 986516 ) on Monday August 11, 2008 @07:42PM (#24561885)

    You don't fork a spec. You create a new one and try to get it accepted by the industry (ATI, Nvidia and Intel in this case).

    Good luck with that.

  • by TheRaven64 ( 641858 ) on Monday August 11, 2008 @07:50PM (#24561963) Journal

    OpenGL is forked. It's designed for forking. Every single vendor implements extensions. When two vendors have implemented their own extension then it can be proposed for inclusion in the standard.

    The community at large was unhappy with the slow speed of development around OpenGL 2.0, so they let Khronos take over development of the next version. It seems that this didn't work very well, in hindsight.

  • Re:Question (Score:2, Insightful)

    by Thyrteen ( 1084963 ) on Monday August 11, 2008 @07:54PM (#24562003)
    Yeah,I've tried wine with a bunch of stuff, and I've gotta say that I'm really, really not keen on using it to run games. especially on my desktop with sli and such. Enough games have bugs in windows, let alone under an emulator. I'd hate to have to get support. Granted, I play very few games, but I'd hate to see opengl go, and I don't think it's going anywhere. It's just too used already, and very practical for lots of stuff. Besides, despite a few game programmers dropping it, what about all the open source programmers that use it for linux and/or windows tasks?
  • Re:Question (Score:3, Insightful)

    by Anonymous Coward on Monday August 11, 2008 @08:05PM (#24562103)

    "The CAD people" are the bread and butter of OpenGL. It's incredibly important to keep those high-margin dudes happy. Direct3D totally fails at addressing CAD + grownups' visualisation needs, so killing OpenGL's core and basically captive market to keep low-margin gamer devs happy would be superdumb.

    But wait, legacy-free OpenGL ES also exists, catering specifically to gaming+embedded markets! How about that!

  • Re:Question (Score:1, Insightful)

    by Anonymous Coward on Monday August 11, 2008 @08:10PM (#24562137)

    Plus the card vendors would love to segment the market again, so that OpenGL = CAD = Pro prices.

    Oh, and if you're using Mac or *nix, you're ripe for the plucking too.

  • by TheRaven64 ( 641858 ) on Monday August 11, 2008 @08:16PM (#24562185) Journal

    But, how can we improve on it? Just wait?

    We can't. OpenGL evolution is controlled by the people who build hardware. If the hardware guys add a new feature, they can add an extension to OpenGL to support it. If they can persuade someone else to add the same feature, they can propose it as a standard extensions, and then propose it to be a required part of the next version of the spec.

    The thing OpenGL is typically bad at is removing legacy stuff. OpenGL ES is, in many ways, a nicer API - it is designed for embedded systems and removes a lot of the older stuff (and adds some stuff that's only really relevant on low-power devices). Vincent provides an open source implementation of OpenGL ES, but I don't know of any accelerated versions on any desktop platforms.

  • by janoc ( 699997 ) on Monday August 11, 2008 @08:19PM (#24562215)
    Folks, I do wonder when someone realizes that OpenGL is not only games. The only people really "furious" are some game developers in few posts on an OpenGL forum. However, please, do realize that games are typically sold for 6 months and supported for 1 year and 99% on a single platform (Win/XBox). Very few things are developed as cross-platform - and it is NOT because of OpenGL, more like commercial realities (cross-platform development is hard and doesn't make a lot of sense for ~2-3% of the market, especially for an app that will be sold for one season).

    Professional apps (CAD/simulators/visualizations...) make up the majority of the OpenGL market and they have to be supported for decades (no, military or airlines do not buy a new training system every two years ...)

    So breaking compatibility is deal breaker. This is exactly what OpenGL 3.0 is about. I am developing OpenGL applications for a decade now and all are still running and being used. How many 10 year old games can you actually get working today? God forbid - on Vista? That is the difference.

    Also, the "newest features not supported by OpenGL" - how many "newest features" are your typical games actually using? Perhaps one or two and they are optional, because the game must run even on not bleeding-edge hardware (how many games are DX10-only? - commercial suicide ...)

    So to wrap this up - the title is EXTREMELY misleading and making up a storm where one doesn't exist.

  • Re:Calm down (Score:4, Insightful)

    by mikael ( 484 ) on Monday August 11, 2008 @08:22PM (#24562231)

    That would have been back in the mid to late 1990's. The Indy's (those flattish sparkly blue workstations) were the first to have a software implementation of OpenGL.

    OpenGL was designed primarily so that third party graphics card manufacturers could write device drivers compatibile with the CAD and scientific-visualisation markets. The developers didn't really care much about 3D sound, real-time physics engines or AI. All they needed was a GUI and one or more hardware accelerated 3D graphics contexts for applications to run. The most complicated lighting models at the time were smooth shaded textures geometry using point light sources.

    Now, modern game engines will be using multiple vertex and fragment shaders for things like relief mapping, occlusion mapping, reflection, refraction, BRDF, BTF, spherical harmonics, environment mapping, ambient shadow-mapping, real-time radiance, particle systems animated using textures and feed-back loops. Current research is attempting to include Computation Fluid Dynamics for animating dust around racing cars (EA), the use of Partial Differential Equations to synthesize the spots, stripes and spirals for virtual creatures (Spore), and that's just the visual part of the game. Then there is 3D surround sound, the physics (collision detection between animated characters, their environment, and everything else), along with multi-player network support (sockets).

    To make a PC game that sells, it is going to have the visual appeal that takes the graphics hardware to its full potential. This means having people experienced in all of these fields or having the budget to afford middleware. Only large companies can really do this now.

  • by Bazar ( 778572 ) on Monday August 11, 2008 @08:31PM (#24562311)

    but to 90% of the market it's irrelevant since they don't run Vista and therefore don't have DX10, OpenGL is competing with DX9, not 10, and winning.

    <sarcasm>Yes, because game developers look to the now and not the future.

    When FPS Games take multiple years to develop, its a well known fact game designers program it with current generation graphics in mind. They never plan ahead 1-3 years so that at release they have a game that will push grahpics to the limit</sarcasm>

    Honestly, the biggest supporters of OpenGL i can think of have been ID Software and Epic MegaGames, and i expect even Carmack would be getting tired of working around a primitive framework with minimal support for modern and future graphical features.

  • by grahamd0 ( 1129971 ) on Monday August 11, 2008 @08:35PM (#24562347)

    It also allows you to pick libraries that have been made by experts in the area the lib focuses on.

    Are you implying that Microsoft just throws whomever at the various portions of directx? The networking guy programs directsound, the sound guy programs directinput, the janitor programs direct3d? I don't generally stand up to defend MS, but I'm willing to bet that they have plenty of money and clout to get various experts to program their specs. And I know it's totally anecdotal, but most game developers I know or whose opinions I've read seem to feel that directx is a more intuitive and feature-rich platform.

  • by Enderandrew ( 866215 ) <[enderandrew] [at] []> on Monday August 11, 2008 @08:43PM (#24562409) Homepage Journal

    Is that counting sales of Vista licenses, or people actually using Vista?

    Plenty of people are buying computers with Vista and switching to another OS, or downgrading to XP.

  • by Eskarel ( 565631 ) on Monday August 11, 2008 @08:53PM (#24562483)
    Well I'm not sure if even Microsoft would agree with you on that since Vista uses OpenAL for its audio library.

    As for professional game developers not caring that Microsoft owns the machinery of their livelihoods. Of course they don't, why should they, and even if they did what would they do about it? Game developers don't write Operating Systems so someone else will always hold their livelihoods, and so long as Microsoft offers them a decent platform to write games for(which it does) and so long as Microsoft doesn't sink(which probably won't happen), why should they care. Most people don't have ideological views to software.

    I hate Microsoft every time I have to spend 20 minutes working out the bugs in my web code because they don't support a standard DOM. I hate them because the fact that they sat on IE6 for almost a decade means that a lot of our programs with web interfaces are IE6 only so I can't stop developing for IE6(third party apps, so I can't migrate them). I don't however have any ideological preference for or against Microsoft. It does the job, and the fact that it's closed is really rather immaterial for me.

  • Marketshare (Score:3, Insightful)

    by Anonymous Coward on Monday August 11, 2008 @09:19PM (#24562613)

    While the gaming community is growing at an awesome rate, I doubt its the same size, and definitely not bigger than the hollywood industry. Coming from the special effects/render farm industry, I can tell you that every single movie that makes it to the big screen today, is in one way or many, made with products that use OpenGL. The gaming community/developers of course are frustrated that opengl is not dx10, but lets face it, hollywood has an endless budget, and a lot of say. This story does not surprise me, and opengl is still going to be the best cross-platform solution for many (and most) 3d technologies, less gaming.

  • by Anonymous Coward on Monday August 11, 2008 @09:47PM (#24562827)

    Plenty of people are buying computers with Vista and switching to another OS, or downgrading to XP.

    I wouldn't call it a downgrade.

  • MOD PARENT UP (Score:1, Insightful)

    by Anonymous Coward on Monday August 11, 2008 @09:53PM (#24562855)
    Hurrah for It's pithy truthiness, and dilligently accurate reporting are a boon for the Internet!
  • by swillden ( 191260 ) <> on Monday August 11, 2008 @10:13PM (#24563013) Homepage Journal

    but though much a grin

    I read that about 20 times trying to figure out what it said... finally, I decided that I think you meant "to my chagrin []".

  • Re:Question (Score:5, Insightful)

    by ( 986516 ) on Monday August 11, 2008 @10:28PM (#24563113)

    Their code will require a huge architectural rewrite no matter what the API looks like. Hardware just doesn't work like these programs are using the APIs anymore, and hasn't for a long time. Keeping this legacy stuff around in the new API won't change that. It'll still be a complete mismatch with the hardware.

    If they want to take advantage of GL3 (either the promised or the delivered version) they will have to rewrite large parts of their code, so why not just drop all this backwards compatibility nonsense and make GL3 actually good, while still keeping GL2 around for legacy? With the original plan for interoperability between the two they could still switch to GL3 one piece at the time while they rewrote their codebase to modern standards. This would have been much simpler for everyone involved. These companies included.

  • by cheater512 ( 783349 ) <> on Monday August 11, 2008 @10:30PM (#24563131) Homepage

    How do you get 20% out of 16.9%?

    On some of my sites (very generic, non-tech orientated) Linux is hitting a very respectable 5.6% of all traffic.
    So Vista is doing appallingly considering its on all new computers.

  • by Assmasher ( 456699 ) on Monday August 11, 2008 @10:54PM (#24563283) Journal

    Does that count the people who've pirated Vista and run it?

    I've always found it sad that people have to bandwagon things like operating systems. I mean, take Irix for example. It's possibly the worst, most unstable operating system in history (through its lifetime) and I had to suffer with it for years, but you don't read about people bashing it because it's *nix. I don't care too much about Vista. I don't care too much about any flavor of *nix either. It's all a toolbox and people pretending otherwise have agendas that range from personal to political and monetary issues. Now I must admit I have a proclivity for laughing at Windows ME (how'd that ever get released? LOL)

  • Re:Question (Score:2, Insightful)

    by omfgnosis ( 963606 ) on Monday August 11, 2008 @11:24PM (#24563497)

    "The market" is:
    - not a homogenous force (there are wildly divergent attitudes on the subject, but they aren't reflected in dry statistics)
    - not a rational force (there are huge forces like inertia which aren't reflected in dry statistics)
    - not a force which quickly adapts to a context that's changing (more inertia)
    - not a decentralized and egalitarian force (inertia favors attitudes of the few with the most; the most with the least don't have much voice in the market)

    The most we can conclude from "the market" is the attitudes of people with weight to throw around, and even then it's questionable.

  • Re:No it doesn't (Score:1, Insightful)

    by Anonymous Coward on Monday August 11, 2008 @11:54PM (#24563711)

    Flips side of that: DirectX sucked ass for it's first few iterations. In every possible way. It was badly designed, badly documented, performance was flaky.

    So you could cut apple a little slack on their SDK till at least one major rev.

  • by registrar ( 1220876 ) on Tuesday August 12, 2008 @02:45AM (#24564735)

    I wouldn't call it a downgrade.

    Perhaps a "retrograde to XP"? Sounds kinda hip.

  • by Risen888 ( 306092 ) on Tuesday August 12, 2008 @04:00AM (#24565005)

    The plural of anecdote is not data.

    You know, I hear this a lot, but I think you're wrong, at least in this case. Or to put it more succinctly, the plural of anecdote may not be data, but the collective of anecdote is indeed data. If every user Enderandrew knows, and every user I know, and...

    I mean, how many times do you have to hear the exact same story from how many different people before you admit it's the truth? I don't know one single person who is using Vista as their home OS. Zero. Nada. None. And I work in end-user support. I talk to lots of people. It's my job. And seriously, not one. I know some people who had it for a while, and ditched it for either XP or (yes, seriously) Ubuntu Linux.

    I spend a fair bit of time in hipster coffee shops (don't judge me, it's part of my job), the patrons of which I take as a fairly good bellwether of consumer tech, if only because there's a decent amount of disposable income floating around and a majority of the machines in use at such places tend to be 1 year old (yeah, lots of Macs, but even so...) And there is no way I'm going to believe that Vista is at a 20% adaptation rate, at least not in this major Midwesten metropolitan area. Absolutely not.


    PS: It's 3:00 AM central time, and I have been drinking. If something up there doesn't make sense or sounds stupid, please ask me to clarify rather than modding me down. I don't usually drink and post, officer, honest :)

  • by BadOPCode ( 1187615 ) on Tuesday August 12, 2008 @07:46AM (#24566165)
    No DX10 _IS_ BS. If it was so great why not implement it into XP? To entice people to upgrade to Vista? Why are they working on a new rewrite for Windows 7 if DX10 is so hawt. And by the sound of things you won't be able to get DX11 unless you get Windows 7. Thats not exactly showing a lot of love for their users.
    Seems to me all modern day corporations are all just trying to screw over the consumer. Fan boys get it the worst.
    As far as prettier in DX10 vs DX9. I don't see it. Yes i've seen the before and after videos. I've stared at lots of jungle leaves. I see a subtle difference but nothing FAR superior. IMHO those who claim they see a night and day difference in DX10 is basically going along with the king's new clothes syndrome. If DX11 has ray-tracing in it than it will be far superior. If its more improved shading on jungle leaves I could give a flying f- less about it.
  • Re:EvE Online (Score:3, Insightful)

    by e2d2 ( 115622 ) on Tuesday August 12, 2008 @11:00AM (#24568785)

    I'm curious - what Tool Set Of The Gods do you use to write this "cutting edge" software you are talking about?

  • by Latent Heat ( 558884 ) on Tuesday August 12, 2008 @12:24PM (#24570281)
    I don't know, maybe it is one of those things like exercising an hour per day or avoiding high calorie foods or making sure you go to the dentist every 6 months. Separating your code into "generic C++ for the numeric and modelling parts" and GUI library-specific code for the GUI part is common sense, good for you, and probably a lot harder than you think.

    Granted, there are probably large portions of the code that constitute algorithms and data structures that don't need to have GUI-specific code in them. We have all seen designs where GUI calls are dispersed in those algorithms when they can be put elsewhere.

    But on the other hand, perhaps as much as half the lines of code in one of these apps has something to do with the GUI or the expression of the data into the graphical display. Suppose your target was OpenGL, but to not get too "locked down" to OpenGL, you abstracted the calls to OpenGL with some kind of wrapper. OK, now the edict comes down from the PHB to change everything over to DX10 or OpenGL 3.XXX, you say, "Piece of cake, I will just rewrite that wrapper."

    Fine, but you are probably using the capabilities and perhaps quirks of OpenGL. At some deep level, you are probably tied to the way of thinking OpenGL has about how to do graphics. You have this wrapper, but is most likely one of Joel Spolsky's "leaky abstractions" of OpenGL anyway, and it may be far from trivial to adapt this wrapper to the Next Best Thing.

    The other approach you can take is say, "I don't want the fortunes of my CAD/CAM program tied to OpenGL, I will only use a minimal subset of OpenGL that appears to be common to DX and some other things. I won't even wrap to some of the fancier features of OpenGL so I don't get stuck -- if I need those features, I will implement them myself." This is essentially the Sun Java-Swing approach -- they code to the absolute bare essentials of the underlying GUI on whatever platform and they implement the bulk of what a GUI and a widget rendering library needs to do, essentially reinventing what a lot of Windows-GTK-QT-Quartz does in Java code.

    You can take the Java-Swing approach and indeed have API-specific code now contained to a small area. You can do this because a large area of your code is essentially your own home-brew buggy reimplementation of a lot of what is in OpenGL. Sun got a lot of criticism for Swing for the low performance for doing this, and implementing Swing I imagine was a major undertaking, but Swing exists and it has been around long enough for incremental improvement to get it to the point of usability for what a lot of people want to do with it.

    But to suggest that having OpenGL calls interspersed through half of a CAD/CAM app is "bad design" is perhaps optimistic thinking regarding how cleanly such an app can be separated into modules. The whole point of OpenGL is that it is platform neutral, and that OpenGL is in fact the wrapper to the underlying graphics library on the various ports of your app. So what you are saying is that the developer of a major CAD/CAM package has to have an in-house wrapper to what is already a platform-independent graphics wrapper because use of OpenGL constitutes lock-in to a platform?

"Never face facts; if you do, you'll never get up in the morning." -- Marlo Thomas