John Carmack, co-founder of id Software says 'inertia' is the main reason why id has stuck by OpenGL.
First person shooter godfather John Carmack has revealed that he now prefers DirectX to OpenGL, saying that 'inertia' is the main reason why id Software has stuck by the cross-platform 3D graphics API for years.
Speaking to
bit-tech for a forthcoming
Custom PC feature about the future of OpenGL in PC gaming, Carmack said
'I actually think that Direct3D is a rather better API today.' He also added that
'Microsoft had the courage to continue making significant incompatible changes to improve the API, while OpenGL has been held back by compatibility concerns. Direct3D handles multi-threading better, and newer versions manage state better.'
In case you're unfamiliar with the mighty Carmack, he co-founded id Software in 1990, and had a large part in programming Wolfenstein 3D and the original Doom and Quake games. Since then, id has rigidly stuck by OpenGL for both Doom III and Quake 4, while many other cutting-edge PC game developers have moved entirely over to Direct3D.
Some games, such as the Call of Duty series, which are based on id's engine, still use OpenGL, but there's little denying that OpenGL appears to have fallen out of favour lately with top-end PC game developers, even if it's still popular with mobile developers and 3D professionals.
While newer versions of OpenGL have kept up-to-date with some of the features found in DirectX, including DirectX 10's geometry shader, they usually have to be implemented via extensions, rather than the main API. Not only that, but Microsoft has now assumed the role of primary innovator in 3D PC gaming graphics, when it historically played a game of catch-up.
'The actual innovation in graphics has definitely been driven by Microsoft in the last ten years or so,' explained AMD's GPU worldwide developer relations manager, Richard Huddy.
'OpenGL has largely been tracking that, rather than coming up with new methods. The geometry shader, for example, which came in with Vista and DirectX 10, is wholly Microsoft's invention in the first place.'
'It is really just inertia that keeps us on OpenGL at this point,' Carmack told us. He also explained that the developer has no plans to move over to Direct3D, despite its advantages.
'OpenGL still works fine,' said Carmack,
'and we wouldn’t get any huge benefits by making the switch, so I can’t work up much enthusiasm for cleaning it out of our codebase. If it was just a matter of the game code, we could quite quickly produce a DirectX PC executable, but all of our tool code has to share resources with the game renderer, and I wouldn’t care to go over all of that for a dubious win.'
Look out for a full feature about the future of OpenGL in PC gaming in Issue 93 of
Custom PC, on sale 14 April, 2011.
32 Comments
Discuss in the forums ReplyAndoid, iOS...
All I can say is, I hate OpenGL more than anything, :D
*facepalm* what a bad movie, except for the ending when it actually looks like an FPS.
Too true but he did die well!
The film did at least look good, and it was waaaay better than farcry!
What a way to go!
Other than that though, I'll let you off.
kthxbai.
Agreed. I hadn't even heard of the Far Cry film until I'd read about lawsuits in the States for pirating it. Now I wish I hadn't heard of it again.
Nah, 12/12/12 would be better :D
Just to kill this incorrect rumor now... No, it has not. They've used ID Tech for as long as I can remember. CoD 3 for sure and all the Modern Warfare games for sure use ID Tech and therefore use OpenGL.
Though having switched recently from OGL to D3D I must say 10 & 11 are far superior to 9 and OpenGL. Though sadly I have to support both 9 & 11 since we want XP users to buy our games too. Its just that much more work sadly.
Mayan calender... end of the world... (that should fill you in)
20/12/2012 is much better.
You've incorrectly assumed that all games based on iD Tech use OpenGL. Valve uses iD tech (GoldSrc was built from Q1) yet its games are quite clearly built on DirectX (the back of my Left 4 Dead 2 packet for example specifically says that DirectX 9 is required).
Whilst CoD1 used OpenGL instead of DirectX, by CoD2 IW had improved the graphics engine beyond iD's work and a system requirement was 'full DirectX 9.0c compatible video card'. This is a slight misnomer, since CoD2 could be run in 'DX7 mode' - and even has such an option in the settings menu.
My CoD6 install even has a DirectX dll in the root directory - and Steam installs execute the Dx installer runtime.
Whilst it's great to make assumptions, a lot of times doing so is inaccurate.
Don't try to kill 'rumours' unless you know they are in fact not true.
Having said that, the Playstation version could well use OpenGL. I don't know much at all about that platform.
Also note that he meant DX10 and better, DX9 is a pile of garbage.
As regards comparing DirectX with OpenGL, of course Microsoft can push things further when they have (largely) total control. The downside is that they can also withhold features when it suits them (like restricting DirectX10 to Vista onwards, when DirectX9 could run on systems from Win98 to WinXP).
Why pamper to the minority?
Probably because it is easier to work in DirectX.
So while not being a perfect environment it is still quite far ahead of OpenGL, it seems. Of course this development was helped by the fact Microsoft can push their technology simply by being the mammoth they are. But, nonetheless, they are in the position they're in for a reason, right? And as much as I love the old games I grew up with, DirectX helped a LOT to get us to the level of graphic awesomeness we're at right now.
Sure, OpenGL could probably have lead us to that level as well but somehow I doubt it.
but does he call you that creepy stalker ;-)
http://blog.wolfire.com/2008/12/why-you-should-support-mac-os-x-and-linux/