Carmack: Direct3D is now better than OpenGL
March 11, 2011 // 11:02 a.m.
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.