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.'"
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.
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.
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.
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!
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.
If you really wanna do that, knock yourself out: http://code.google.com/p/bfopengl/ :-)
Could you make those error bars a bit bigger? You almost said something.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
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: -
(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?)