Slashdot Mirror


Why You Should Use OpenGL and Not DirectX

stickyboot writes "The independent games developer Wolfire describes why they decided to use OpenGL instead of DirectX. The article mainly discusses the marketing strategies behind DirectX and how the API became so popular. It also goes over why a developer would choose OpenGL over DirectX and what this decision means for the gamer. 'Back in 1997, the situation was similar to how it is now. Microsoft was running a massive marketing campaign for Direct3D, and soon everyone "just knew" that it was faster and better than OpenGL. This started to change when Chris Hecker published his open letter denouncing DirectX. Soon after that, John Carmack posted his famous OpenGL rant, and put his money where his mouth was by implementing all of Id Software's games in OpenGL, proving once and for all that DirectX was unnecessary for high-end 3D gaming. This lesson appears to have been forgotten over the last few years. Most game developers have fallen under the spell of DirectX marketing, or into the whirlpool of vicious cycles and network advantages.'"

17 of 515 comments (clear)

  1. OpenGL and the rant about marketing by sopssa · · Score: 5, Insightful

    I am still kind of surprised that even after so many years, the open source communitys answer to marketing is only ranting about it.

    Providing libraries, API's or platforms is NOT only about technical platform. *Nothing* in the world works like that. You must "market" it to companies, create a community around it with the right people and actually provide support and good tools to the developers. You can rant all you want about the technical sides of things, but if you do not understand this and completely ignore it you're only hurting yourself.

    I have worked with both DirectX and OpenGL. In my opinion, OpenGL is loosing because:
    1) DirectX has a comprehensive, well-documented references and documentation
    2) DirectX provides a lot more than just 3D drawing - sounds, networking, fonts, input processing, and it used to have an API for 2D graphics before (relevant because the story is about why DirectX gained marketshare)
    3) The DirectX libraries had more support in whatever coding language you wanted to use. You can argue this with the point that of course they had because Microsoft is a company so they can do it, but that doesn't change it. In fact, it would show that propretiery formats and libraries are better than open
    4) Later it was possible to easily develop XBOX 360 games with DirectX and the tools were made good and easy to pick up. You may say it's irrelevant, that MS is using another market to improve their position, but it is not irrelevant. And unless OpenGL supporters start to work at it too, they're going to lose. Give more support and more value for the work!
    5) DirectX was easy to pick up, and everyone supported it. If it's easy to pick up for beginners, they'll learn it and continue using it later as a professional (the same thing as why Adobe doesn't really care about home users Photoshop piracy)

    It is NOT only about providing the technical platform. It is also about providing all the things that company it - some may call that "marketing", but it's mostly about giving support to those who use the platform, and giving more value for their time, work and money.

    1. Re:OpenGL and the rant about marketing by Blakey+Rat · · Score: 5, Insightful

      Without DirectX propping up the monopoly we'd have other technologies and far more companies that would provide innovative competition, thus providing more, and often better, products.

      Then instead of ranting about DirectX, why don't you put your money where your mouth is and make a competitor for DirectX?

      I'm sick of open source buck-passing. Sure, it's terrible that Microsoft has such a commanding monopoly in so many areas, but on the other hand, why are you complaining about it instead of actually working to make it go away?

      For every one of those bulletpoints the parent mentioned, there's nothing, nothing stopping you from providing a similar level of support for OpenGL.

      DirectX has networking/input/graphics drivers? Then write those and attach them to OpenGL. DirectX has better documentation/examples? Then create them for your OpenGL solution! DirectX can be ported to Xbox? Fine; then get off your bony butt and go talk to Sony and Nintendo about enabling trivial porting of OpenGL apps.

      Sorry, I just get sick of the whining by anti-Microsoft goons who don't have the cojones to actually compete with Microsoft-- stop passing the buck and do it already.

    2. Re:OpenGL and the rant about marketing by SanityInAnarchy · · Score: 5, Insightful

      make a competitor for DirectX?

      DirectX is a combination of several not-entirely-related technologies. The graphics component is Direct3D, and the stupidly obvious competitor is OpenGL.

      why are you complaining about it instead of actually working to make it go away?

      Because OpenGL is already better, as TFA explains. The problem is purely a marketing one, and requires a marketing response. The marketing response sounds like "complaining", but is actually encouraging people to think and explore their options.

      DirectX has networking/input/graphics drivers? Then write those and attach them to OpenGL.

      The result is called SDL. Again, these have already been done, they just aren't part of one giant marketing package, largely because they don't necessarily have anything to do with each other. For example, OpenGL powers my compositing window manager at the moment, but it really doesn't need to make any sound.

      DirectX has better documentation/examples? Then create them for your OpenGL solution!

      Fair enough.

      DirectX can be ported to Xbox? Fine; then get off your bony butt and go talk to Sony and Nintendo about enabling trivial porting of OpenGL apps.

      What makes you think the author of TFA hasn't done so? Indeed, what makes you think they would listen to the GP at all?

      But FYI, PS3 and Wii both include a form of OpenGL, though there are differences.

      Sorry, I just get sick of the whining by anti-Microsoft goons who don't have the cojones to actually compete with Microsoft-- stop passing the buck and do it already.

      I understand what you're saying, but if it was that easy, we'd have done it already.

      Whining is not mutually exclusive with doing something about it.

      --
      Don't thank God, thank a doctor!
    3. Re:OpenGL and the rant about marketing by timmarhy · · Score: 5, Insightful
      instead of whining about MS's success, why don't you all go out and beat directX at it's own game - an easy to use 3d gaming API. openGL is NOT as easy and thus more expensive to write games in.

      if all these people wrote code instead of rants you'd be a little closer by now.

      --
      If you mod me down, I will become more powerful than you can imagine....
    4. Re:OpenGL and the rant about marketing by Synchis · · Score: 5, Insightful

      The interesting part of your whole argument is that you completely ignore the fact that both Wolfire and ID Software do more than just rant about it.

      They develop games that support OpenGL. What they want, is *other* big developers to stop supporting the inferior libraries and open their eyes.

      Plan and simple: There is nothing bad about Open standards.

      - If they are broken, you can fix them.
      - if they lack features, you can add them.
      - If the performance is poor, you can improve it.

      Can you say this about Direct3D? The only entity that can fix, add to, or improve Direct3D is Microsoft. Period.

      - If its broken, you have to wait for a patch.
      - If it lacks features, you have to wait for the next version, and pray that it supports your operating system.
      - If the performance sucks, you have to deal with it.

      Whats good about that? And thats talking a strictly Windows audience.

      From a cross platform point of view, there really is just one choice. And its not Direct3D.

      --
      Thomas A. Knight
      Author of The Time Weaver
    5. Re:OpenGL and the rant about marketing by moderatorrater · · Score: 5, Insightful

      1) completely bogus: OpenGL has an both a good documentation and extremely good literature

      It's nice that you think so, but I've seen the documentation for both, and I much prefer the directx documentation. You are, in fact, helping to prove the GP's point: when Microsoft hears from a developer that their documentation sucks, they'll work on it and improve it. When open source people hear that something sucks, they insult the user and stick their heads back in their asses.

    6. Re:OpenGL and the rant about marketing by Anonymous Coward · · Score: 4, Insightful

      Because OpenGL is already better, as TFA explains.

      Except that OpenGL is NOT better. It may have support for vendor's random GPU features, but technical features alone do not make for a better product.

      From the Article:

      On Windows, it's a fact that the DirectX graphics drivers are better maintained than the OpenGL graphics drivers.

      Similarly, it's a fact that more gaming graphics programmers know how to use DirectX than OpenGL, so it's cheaper (less training required) to make a game using DirectX than OpenGL.

      Microsoft has worked hard on DirectX 10 and 11, and they're now about as fast as OpenGL, and support almost as many features.

      I prefer DirectX because it has better development support, a better development environment, an integrated complete game package, and provides nearly the same speed and functionality as OpenGL. Yes, I've experimented with SDL and did not like it.

      The Article also gets one thing wrong:

      However, there's one big problem: they don't work on Windows XP!

      This is inccorect. DirectX 10 does work on Windows XP, it is just not officially supported by Microsoft.

    7. Re:OpenGL and the rant about marketing by Blakey+Rat · · Score: 4, Insightful

      Well, and beyond that, the fact is that it doesn't work.

      What started up IE development again? Was it 3 years of whining and whining on Slashdot about how Microsoft had a browser monopoly? Or was it another browser stepping up to the plate and actually *competing* for the first time since IE6 came out?

      Microsoft doesn't care about products with no real competition-- Powerpoint has no real competition on Windows, look how shitty it is. It's by far the worst of the Office apps, and Microsoft simply does not care. Now if someone came and blew Powerpoint away, sold the software for less-- you bet your ass Microsoft would start moving again.

    8. Re:OpenGL and the rant about marketing by mcvos · · Score: 5, Insightful

      I am surprised that someone would want to use something as old as opengl. I bet those people still read their mail with elm, pine and mail.

      You have no idea. My computer still uses TCP/IP!

    9. Re:OpenGL and the rant about marketing by n8_f · · Score: 5, Insightful

      Sure, you could have an "open standard," but someone is controlling that, too.

      No, that is why it is an open standard. Once it is out there, anyone can implement it and conform to the standard. Maybe someone maintains it and maybe someone is working on the next version, but no one controls it. To illustrate the difference, what platforms does DirectX run on? Microsoft Windows, Microsoft Xbox, and Microsoft Windows Mobile. Notice the pattern? And what platforms does OpenGL run on? All of those plus dozens or even hundreds more. If you want to port your app to the iPhone or the Palm Pre or an Android phone, who is going to have to do more work, the person with the app programmed in DirectX or the person with the app programmed in OpenGL? That is the advantage of an open standard.

  2. Former OpenGL developer by WilyCoder · · Score: 5, Insightful

    As a former OpenGL developer, I am not too fond of GL anymore.

    Khronos really disappointed a lot of people when they announced the GL3 specs. They had promised SO much and delivered SO little. Khronos claimed that it didn't want to piss of the CAD community, which is heavily GL based. They basically chose to please the CAD community instead of the gaming community.

    That move totally killed GL for me.

    1. Re:Former OpenGL developer by VGPowerlord · · Score: 4, Insightful

      OpenGL is clearly behind DirectX ...

      You're contradicting TFA without any evidence. TFA provided quite a lot of evidence to support its position such as:

      Actually, you did his work for him. Emphasis added:

      It's common knowledge that OpenGL... has first access to new GPU features via vendor extensions.

      Vendor extensions are not part of the standard, which makes this statement from TFA misleading at best, outright lying at worst. These extensions usually don't make it into the OpenGL standard until years after DirectX has added them, as was pointed out by another poster elsewhere in this thread.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  3. John Carmack ditched OpenGL by Anonymous Coward · · Score: 5, Insightful

    In an article a couple years back during the Doom 3 release he(John Carmack) said in later articles that they would be moving away from the OpenGL platform and considering he was one of the biggest backers of it. He even said in the article that they liked DirectX and the new features they have added, also that it was a lot better to work with these days and supported more. I can only imagine after the last fiasco update that OpenGL put out and all the missing features they promised, it looks pretty dismal for that development team as they cannot deliver what they promise.

    Really the last place OpenGL stands strong is in AutoCAD and even they have indicated that the platform will not last longer, so we may see AutoCAD be using DirectX in the next few 5-10 years.

    1. Re:John Carmack ditched OpenGL by shutdown+-p+now · · Score: 5, Insightful

      I have posted this citation by Carmack in a comment on recent article on DX11, but it seems to be very much relevant here as well, so I'll re-post it - especially as TFS mentions Carmack's opinion circa 1997 (which favorably matches with the point of the article), but conveniently omits the more recent comment. Here it is:

      "DX9 is really quite a good API level. Even with the D3D side of things, where I know I have a long history of people thinking I'm antagonistic against it. Microsoft has done a very, very good job of sensibly evolving it at each step—they're not worried about breaking backwards compatibility—and it's a pretty clean API. I especially like the work I'm doing on the 360, and it's probably the best graphics API as far as a sensibly designed thing that I've worked with."

  4. Re:I'm sorry but I don't really care by Hatta · · Score: 5, Insightful

    I exclusively use Windows for PC gaming. I could give two flying F's whether my game is developed in OGL or DX.

    If more games were developed in OGL, they would be easier to port to other operating systems (or run under Wine)so you wouldn't need to use Windows anymore. That would save you a hundred bucks or so on a Windows license, or at the very least the need to reboot to play a game. That's got to be worth at least one flying F.

    --
    Give me Classic Slashdot or give me death!
  5. Reality Check From A Real Game/Graphics Developer by Anonymous Coward · · Score: 5, Insightful

    I don't know whether to laugh or cry at people like you.

    Let's just sum up the platforms our company supports:

    PS3
    Wii
    Linux
    Mac
    Windows
    Android
    iPhone
    Various embedded custom ARM based hardware

    Guess which API is the one we use for all of those platforms - except the two consoles?

    OpenGL

    Guess which API will be used for the next media hardware platform no one has heard about yet?

    OpenGL

    So, yeah, go right ahead and keep babbling about how somehow OpenGL needs to 'prove' itself. DirectX is a dead end API to anyone except the fading Windows gaming market and teenage Windows only coders.

  6. Please tell me... by Savage-Rabbit · · Score: 4, Insightful

    Please tell me how many companies care about the niche market of 0.1% of Linux users? How many Linux games do you see? And don't even get me started how much bitching there would be if the "bad" companies wouldn't open source their games when releasing Linux versions.

    It's not really about the 1% of desktop users that use Linux. What you are failing to note is that there is an awful lot of software written for mobile systems (read: mobile phones and iPod like devices that double as gaming platforms) and many of those systems run Unix like OS'es such as iPhone/iPod OS and Linux. Writing games for mobile devices is a growing market and portability is a key component if you want to make any kind of money since the world of Mobile operating systems isn't quite the Microsoft dominated monoculture that the world of Desktop OS'es is. If Android gains any kind of a foothold and iPhone OS keeps gaining market share (and there is no reason to believe they won't) I'd say OpenGL has a bright future, if only thanks to people developing for mobile devices. Also keep in mind that the most popular mobile phone OS is Symbian. Mind you I don't think Symbian owes much to Unix but it isn't made by Microsoft either. Symbian has an OpenGL port that is also the official Symbian 3D graphics API (according to Wikipedia). Now I'm sure people can bitch and moan about how mobile games aren't really as sophisticated as as PC games and I suppose that's true. Nevertheless it still cracks me up every time some bozo puts in a book review on a game development book on Amazon and goes on endlessly about how Direct3D is a "game development industry standard" and how "OpenGL is a dying technology". OpenGL is alive and well and likely to stay that way. The (mobile software developing) world is not Microsoft.

    --
    Only to idiots, are orders laws.
    -- Henning von Tresckow