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.'"
Standard Slashdot response:
The idea that OpenGL is cross-platform is a myth spread by uneducated fools:
- Mac OSX, which is the main system you would do OpenGL based games for, has a piss poor, shitty implementation of OpenGL that is so useless and outdated that you cannot really do much of anyting with. Apple really dropped the fucking ball on this one and I am surprised they dont get called out more for fucking up things so badly. Words cannot describe how horrible OSX OpenGL is, you guys bitch about Windows OpenGL support have no idea the level of hell OSX OpenGL is.
- PS3 has its own OpenGL way of doing things (hey go figure, Sony makes things difficult for its developers... therse a shocking revelation) that you need to code around and utilize its multiple processors to best utilize.
- Linux no one gives a rats ass about making games for. Sorry Linux fanboi's but its the truth.
- OpenGL ES isn't OpenGL
Sorry guys but the reason why OpenGL has gotten the crap kicked out of it recently and lost support has nothing to do with Microsoft, the Xbox or even Nvidia or AMD. It has everything to do with OpenGL being an outdated and non relevent solution towards allowing game developers to be productive and provide the features that are needed for today's applications. Worse yet the biggest problems with OpenGL has to do more with the fact that the "partners" in it spend more time trying to manipulate the spec to best benefit their company and not the 'standard' itself. All this time Microsoft has moved forward and iterated through DirectX and Direct3D with both good and bad results much faster and provided what game developers need in the end for PC and Xbox development.
With regards to the shameless POS FUD blog that these Wildfire guys posted. The point that they clearly miss in the whole arguement is that good game engines made by competent developers have a graphics abstraction layer that allows the developer to use the best possible rendering API for each platform the game will be released on. These guys clearly need to get their facts straight before they post sensational crap that people with experiance are clearly calling them out on.
How about if you only want to hear about what you want, you sit at home and don't browse fucking slashdot.
Seriously, you come on a news, opinion and discussion site, and then expect not to have to listen to anyone else giving an opinion. What the hell are you on?
-- Lattyware (www.lattyware.co.uk)
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.
Also, you need to develop the games differently to PS3, Wii, Android and iPhone anyways. Or do you think they run the same PC version?
Also, many games that work on Windows and use DirectX work on Mac also. While technically using CrossOver, they still do.
Actually, the more I read your comment its making me think you're being sarcastic with all the fading Windows gaming market and "teenage Windows only coders". Funny how you got modded up.
You know, there's a difference between "doesn't work" and "works differently".
So, to the moronic moderator who modded me Troll -- DirectSound does work on Windows Vista and 7 (no matter how much you apparently wish it wasn't true).
"Current DX Games" also being shit like CounterStrike 5 and Space Marines 10 which add no revolutionary ideas or gameplay* but help ensure the sales of insecure resource-hungry pigs like Vista and 7.
Enjoy having to double your hardware specs with every new release, suckers!
*I was going to backpedal and mention the revolutionary scene in Modern Warfare 2 where you get to blast the shit out of innocent civillians before realizing that the GTA franchise beat 'em to it years ago.
it can call COM APIs as well.
Never the less COM adds a layer of complexity that I don't find when using OpenGL. I'm not sure what the situation is now with DirectX, I understand its better since 9, but still, I have nightmares about COM activation across network domains and permissions issues and the list really went on and on; COM was a nightmare if you wanted to implement it on a complex distributed system, you really had to know what you were doing. Now we have opengl and signals with Linux, and its pretty strait forward. I remember years ago when I first played around with ogl and I remember I had my first example program running in less than 15 minutes after installing the sdk; and this was on cygwin! A few years later and I'm writing ogl object activation with the libsigc++ library. DirectX; not so much. It took me a few days to understand what I was doing and figure out how to get one simple example working.
Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
Not hardly. Everyone and their dog own a Windows PC. Everything else is a niche. Mobile games are seldom played, in fact didn't we have a slashdot poll about it recently?
"It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
What's your point? You've been modded "Insightful" but I don't get the significance of your post... ok so DirectX is Java and OpenGL is C-- so what?
Comment of the year
If this is true, that they don't care, then maybe those developers should stop posting their crap all over Freshmeat, SourceForge, and similar sites for other people (READ: Normal Users) to download and use. Since you know, it's "something they made just for themselves."
Usability is part of software development, even if you are only sharing the program with your sibling or best friend. Maybe some "developers" need a kick in the ass to realize this fact.
And so many OSS developers wonder why their projects implode, or otherwise miserably fail compared to their commercial counterparts. THIS.
@Mindless Drivel: 100% of Twitter posts ever Tweeted.