OpenGL 3 & DirectX 11: The War Is Over

The Revelation

No more was heard of OpenGL 3 until August 2008 at the SIGGRAPH conference. But while some people were expecting a pleasant surprise, Khronos had a serious disillusionment in store for fans of OpenGL. Not only was the API nearly a year late, but to top it all off, most of the new aspects of Longs Peak had been completely abandoned. After the OpenGL 2.0 fiasco, which really delivered only an OpenGL 1.6 with a different name, this OpenGL 3.0 was beginning to look like no more than version 2.2. The unpleasant surprise, coupled with the absence of communication for several months, resulted in some very aggressive reactions toward the Khronos group on forums everywhere. Faced with the storm of reaction, Khronos responded on the official OpenGL forum through Barthold Lichtenbelt of Nvidia. His highly detailed response at least provided a little insight into what had been going on in the wings. We learned, for example, that certain points of implementation weren’t decided on in time, and that in parallel, a lot of people felt that it had become urgent to enable OpenGL support for the latest GPUs. So the plan was modified in order to extend OpenGL 2 to include Direct3D 10 functionality.

Even if the argument holds up, Khronos can still be criticized for not trying to put out the fire immediately rather than suddenly cutting off all communication with the outside world. And the similarity with what happened six years earlier with OpenGL 2.0 doesn’t really inspire optimism for the future. After two promises to rewrite the API—both of them failures—how are we supposed to have faith in the future of OpenGL? Finally, a comment by John Carmack at the latest QuakeCon didn’t really help the situation. Asked about the status of OpenGL 3, he answered in terms that were a lot less politically correct than Mr. Lichtenbelt’s statement.

According to Carmack, OpenGL 3’s falling short of what it was supposed to be is mainly the fault of certain CAD software developers who weren’t really favorable to Longs Peak. They were afraid of problems with compatibility and their applications due to the disappearance of certain older functions. That version was tacitly confirmed by Lichtenbelt: “ During the Longs Peak design phase, we ran into disagreement over what features to remove from the API...The disagreements happened because of different market needs...We discovered we couldn’t do one API to serve all..”

So in the end, OpenGL 3 is nothing more than an incremental update. The API hasn’t really been changed. Khronos has simply marked certain capabilities as being deprecated and created a context in which using those functions will cause errors. That’s a far cry from what was promised (driver developers still need to provide support), but it is a step forward since it allows developers to prepare for future versions that may finally offer a true Lean and Mean mode. OpenGL 3 also introduces the notion of profiles. For the moment there’s only one profile, but the plan calls for creating a profile for games and another for CAD, for example, with each profile supporting a different subset of functions.

Aside from that, the features offered by OpenGL 3 are pretty much the same as what Direct3D 10 offers, except for Geometry Shaders and Geometry Instancing, which have been added to the API as an extension. But some features of Direct3D 10.1, like independent blending modes for MRTs, are also supported.

  • Gatekeeper_Guy
    Cool, but it will be a few years before we see at DX11 graphic card on the market.
    Reply
  • stridervm
    Sadly, I agree by the author's opinions. Not simply for, but because it still give away the idea that PC gaming cannot be considered serious..... Unless you're using Windows, which is proprietary, the only viable alternative cannot be used because of the fear of losing compability. I just hope this can be remedied before Microsoft becomes.... Unreasonable and becomes power hungry..... If it isn't already. Look at how Windows systems cost now compared to the the alternative.
    Reply
  • johnbilicki
    DirectX 11 will be available on Windows 7 and Vista? Great news indeed! Normal noobs will be able to own super noobs who are standing around looking at over-detailed shrubs.

    As for real gamers, we'll stick with XP until either Microsoft gets smart and clones XP and only adds on Aero or OpenGL gets it's act together and Linux becomes a viable gaming platform. It would be nice if it became a viable anything-other-then-a-web-server viable platform though. Linux gurus, feel free to let us know in sixty years that I won't have to explain to my grandmother how to type console commands to install a copy of Opera.

    OpenGL can go screw backwards compatibility, look what it's done to (competent) web designers who are stuck dealing with Internet Explorer.

    All the bad news about DirectX, OpenGL, and DRM makes me wonder if these companies want us to pirate the hell out of everything. At this rate "next generation" consoles might actually become the next generation consoles!
    Reply
  • jimmysmitty
    Gatekeeper_GuyCool, but it will be a few years before we see at DX11 graphic cardhttp://en.wikipedia.org/wiki/Video_card on the market.
    I thought the article said that DX11 is supposed to be compatable with previous gen hardware.

    I know the Gemoetry Shader with Tesselation is already in all of the ATI Radeon HD GPUs so thats one thing it will support.

    But no SP 5.0 support. I have heard that Intels GPU, Larrabee will support DX11. So that would mean late 2009/2010 will have at least one and that should mean that ATIs HD5K series and nVidias next step should includ support if they were smart and jumped on the wagon early.
    Reply
  • OpenGL may not have gotten the changes it needed to compete with DirectX as a gaming graphics API. But then you have people like Tim Sweeney telling us that graphics APIs are not going to be relevant that much longer (http://arstechnica.com/articles/paedia/gpu-sweeney-interview.ars).

    Direct3D 10 has changed very little in the industry so far, predictably only a very small number of games us it. And those who do can do most of it on Direct3D 9 as well. Maybe MS learned by now that releasing a new API on only the latest platform is a huge mistake, but it will still be a while before people will adapt their new API. And if Tim Sweeney's predictions come true, it will likely not happen at all.
    Reply
  • martel80
    johnbilickiLinux gurus, feel free to let us know in sixty years that I won't have to explain to my grandmother how to type console commands to install a copy of Opera.I have been able to "accidentally" (because I'm no Linux guru, you know) install Opera through the Synaptic Package Manager on Ubuntu. So please, stop talking nonsense. :)
    The process was a bit different but overall faster than under Windows.
    Reply
  • dx 10 may not appear major but for devs its actually is.. no more checking cap bits.. that is a big improvment. dx10 is alot more strict in terms of what the drivers should do and thats good. doing away with fixed functions is also great

    however hardware tesselation if huge.. dx 11 also allows for hardware voxel rendering /raymarching thru compute shaders and alot of other stuff.. as apis become more general im sure the pace of new apis: will slow down, but that's not a indicator that pc gaming is dying (un informed people have claimed that the pc is dead since the ps1)

    as for the windows/other platforms discussion, it is not the fault of microsoft that there is no viable alternative on other platforms. if someone chose to compete with microsoft, they could. but no one seems willing. what really should be done is a port/implementation of dx11 in open source..

    however, in the cut throat buisness of game engines and gpu drivers, i seriously doubt that open source systems will ever be at the forefront of gaming
    Reply
  • phantom93
    DX11 is compatiable with DX10 hardware. It should work when it is released unless they have bugs.
    Reply
  • spaztic7
    From my understanding, all HD4800 serious are DX11 compatible... and the HD4800 line is ray tracing compatible at ray tracings frame cap. I do not know about the 4600 line, but I don’t see why they wouldn’t be.
    Reply
  • GAZZOO
    ow PC gameing is dieing allright the major game componies are starting to squeese out the PC games from there production list useing the excuse that they are loosing money through pirecy but what they are realy doing is cutting out one version forcing PC gamers to evolve into console players
    And from this article I get the impresion that microsoft has a hand in it aswell by making sure that the console games end up running better or as good as PC games
    I think if the origenal Opengl was alowed to proceed years ago and if the follow up was taken and there wasnt any sabotage happening then the PC and its performance with mutly CPU GPU and the tecnolegy evolving with the progamers and propper apis in this area would have left the console market in the shade but this way Microsoft is eliminating other similar competion Apple
    To cut to the chace Apple and OpenGl is getting the Microsft squeese and who has an interest in a console product :-)
    I guess I might be one of the old dinosorse but I still am a PC gamer through and through even though I am grampar foda I love buiding PC units and playing well I havent been to a net game in a couple of years Pizza and beer he he heee But Il be buggered If I will lie down and die because of big buisness
    Gazza
    Reply