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.'"

9 of 515 comments (clear)

  1. Re:OpenGL and the rant about marketing by pyalot · · Score: 5, Informative

    1) completely bogus: OpenGL has an both a good documentation and extremely good literature
    2) completely bogus: These days M$ is advocating *not* using anything Like DirectInput, etc. In fact, DirectSound doesn't even work on Windows7
    3) completely bogus: If you're not doing C#/C++ on Visual Studio using Com+, you're not getting DirectX. OpenGL can be coded in anything, Delphi, Python, C (gcc), C++, perl, Ruby, etc.
    4) The only thing you got right, remotely
    5) completely bogus: Before version 9 or 10, DirectX was the most hard and retarded thing to pick up, then it slowly, very slowly, got better.

  2. Re:OpenGL and the rant about marketing by jfbilodeau · · Score: 4, Informative

    Corrections/clarifications

    1) So does OpenGL
    2) True -- Let's talk Direct3D vs OpenGL
    3) False -- Name me one language that doesn't have OpenGL bindings
    4) The 360 has a DirectX-like API. OpenGL-like interfaces is used on Wii and PS3
    5) OpenGL is easy(er?) to pick up

    --
    Goodbye Slashdot. You've changed.
  3. Re:OpenGL and the rant about marketing by pyalot · · Score: 5, Informative

    All of Rages/IDs software runs on OpenGL... that not quick enough for you?

  4. Re:OpenGL and the rant about marketing by shutdown+-p+now · · Score: 4, Informative

    If you're not doing C#/C++ on Visual Studio using Com+, you're not getting DirectX. OpenGL can be coded in anything, Delphi, Python, C (gcc), C++, perl, Ruby, etc.

    First of all, if a language can call C APIs (and, in particular, can deal with C function pointers returned by those APIs), it can call COM APIs as well. DX isn't even "COM", it just uses COM conventions (vtable layout, refcounting etc) - but it's not a set of proper registered COM objects. In particular, this means that you absolutely can write DX applications using gcc (e.g. Mingw, on Windows), and even g++, since its vtable layout is (by design) COM-compatible.

    Furthermore, there are plenty of high-level DX wrappers for various other languages: Delphi and Python from your list have them for sure, and there are many more (just google for "directx language").

  5. Re:Former OpenGL developer by Anonymous Coward · · Score: 5, Informative

    You are not up to date then. OpenGL 3.2 has it in the standard.

  6. Re:John Carmack ditched OpenGL by GooberToo · · Score: 5, Informative

    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.

    I find that hard to believe. Right now there is a new renaissance in game development and game platforms. Mobile platforms are just now grabbing noteworthy market share and it looks like its only continuing to grow as more mobile devices increase in capability - especially 3d capabilities. Thus far that segment has clearly spoken. Thus far this segment is OpenGL and/or OpenGL ES. And that's entirely his point. You want to chase an emerging market plus cover all other platforms, you have exactly one option - OpenGL.

    If you develop via OpenGL you can address XP+Vista, Mac, Linux, iPhone, and Android, plus all the major consoles. Its one stop shopping. With DX and comparable graphics with OpenGL, you can only target Vista. If you want Vista + XP + Consoles, you're looking at DX9 which is a subpar graphics experience compared to that which is provided by OpenGL. Simply put, OpenGL provides you more platforms more easily.

    We most certainly have not reached any critical point which can not be reversed. As the author clearly points out, OpenGL vs MS is much the same today as it was in the past. At this point, its strictly about mind share and that needs to change.

    Much is said that OpenGL is less than DX, and that's true. But people seem in a hurry to ignore the fact that there is a standardize solution which is OpenGL/OpenAL/OpenSL/SDL. When game developers talk about OpenGL as a solution, they really mean all four. OpenGL has a complete solution which addresses both CAD and gamers alike. The only questions is, are companies smart enough to realize this - far too often, its seems not because of the MS marketing. And as I've said many times before here, MS is not so much a technology company as they are a marketing company. Generally speaking their technology is second rate, but their marketing and business prowess is world renowned. All too often people confuse the facts.

    Ultimately, the problem is that the PHB making the technology decision is simply unaware of the poor MS-centric decision they are making, which is then costing them additional dollars to later turn around and target the platforms they specifically excluded themselves from by picking DX in the first place. OpenGL needs to be championed by someone that understands how to speak PHB so that OpenGL can be fairly evaluated. Right now the only contender who is whispering into the PHB's ear is MS, and as a result, everyone is losing.

  7. Re:One language by drei0003019 · · Score: 5, Informative

    If you really wanna do that, knock yourself out: http://code.google.com/p/bfopengl/ :-)

  8. OpenGL pride by pyalot · · Score: 4, Informative

    Irrefutable, feel welcome to try.

    - OpenGL works on Mac, Linux, WindowsXP and Direct3D does not (or only partially as in no DX11 for XP)
    - OpenGL compatible APIs are present on the PS3, Wii, iPhone and many other devices, wheras Direct3D works on none of those.
    - Cutting edge features can be accessed in OpenGL as they come out, whereas in Direct3D you'll have to wait until M$uck decides to iterate++ DX.
    - A wealth of good online and dead tree documentation can be had for OpenGL
    - A host of "killer apps" has been done and is continuing to be done with OpenGL (such as Maya, 3ds max, softimage, all iPhone games, Mac Games etc.)

  9. Moving and all by Estragib · · Score: 5, Informative

    Now if someone came and blew Powerpoint away, sold the software for less-- you bet your ass Microsoft would start moving again.

    The question is what move that would be. To judge by the past, they would, in order of feasibility: -

    1. rely on ubiquity of the .ppt format,
    2. spread FUD about security issues and TCO,
    3. pay bloggers, consultants and analysts to badmouth it,
    4. announce the next version of PPT, complete with mock-up screenshots, scaring off investors, then never release it,
    5. suffocate it with patent litigation,
    6. buy them out and
      1. kill it off,
      2. assimilate it (but not invest into further development, because, hey, no competition again),
    7. change office to be incompatible,
    8. change IE to be incompatible,
    9. change windows to be incompatible.

    (Not comprehensive.)

    All of this has happened before, and all of it will happen again.
    (aka: Are you absolutely positive you are not new here?)