Douchebag Defined
Published January 08, 2010
Recently, a developer (hereafter referred to as "Moron") posted a tirade about how much better OpenGL is than DirectX. This moron of course got himself linked by another group of morons known as "Slashdot", and probably some adjunct groups of particularly stupid (but not quite moronic) people such as "Digg". You'll note that I am unlikely to be honored by either community. I'm also not going to link this post, because there's no point generating the trackback or sending any more traffic.
By the way,
I wrote about this subject many years back, and very little has changed since.
Now, the problem with Moron is multi-faceted.
The rest of this post is available
on Ventspace. Note that strong language is contained, otherwise I would actually repost the whole thing here.
Regardless, I'm a bit amazed by the passion this whole OpenGL vs D3D thing gets, when in the end it's a very tiny part of your code. My opinion is that surely D3D is now a more streamlined and clean API, however I think that's an issue more for driver devs than for game developers. For instance, the whole big-state-machine and mutable objects thing is not such a big deal for app developers; you just abstract it away with a design of your own choice. It's a big deal for driver devs though. Of course, app devs care if they're going to get good driver support. Although it's a bit of catch 22, it's reasonable to assume that, the more games are developed in OpenGL, the more vendors will have to improve their drivers(and yes, we're talking about ATI of course). However, I don't see that happening, and Khronos is to blame here much more than MS, it's sad because competition is always good but I think the battlefield has cleared for at least a few years and for games on windows, D3D will be the majority's choice. Id's choice to still go with OpenGL on PCs even though Carmack has spoken favourably about D3D is reasurring though for those of us that still use OpenGL :)
Not to say that app developers won't benefit at all from a cleaner API like D3D which has the luxury to break backwards-compatibility and do away with all the ancient cruft, but in reality you're just going to abstract away the API calls, and you'll have, as Carmack mentioned, just a handful of files that are API-specific. Deciding that, for that tiny part of the code, you're gonna go with OpenGL even though it's more messy(which it is) because it allows you to target more platforms(windows xp included) is not completely unreasonable. It's just that the article presents it in a flameworthy way.