Carmack: Direct3D Now Better Than OpenGL

id Software mad scientist and first-person shooter "granddaddy" John Carmack said that DirectX has matured to the point where it's now a better API than OpenGL. It handles multi-threading better and newer versions manage state better. But he doesn't have plans in moving to DirectX any time soon, blaming inertia for the studio's continued use of OpenGL.

"OpenGL still works fine," Carmack told Bit-Tech, "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."

Very few titles still rely on OpenGL to render GPU-dependant visuals, seemingly fallen out of favor with top-end PC developers. Microsoft has essentially taken the throne as the leading 3D PC gaming graphics innovator, a 180-degree turnaround when compared to the early days of DirectX lagging behind and playing catch-up with OpenGL's innovations.

The current success of DirectX is largely due to Microsoft's courage to continue making significant incompatible changes to improve the API. OpenGL has been held back by compatibility concerns, Carmack said.

AMD's GPU worldwide developer relations manager, Richard Huddy, agrees. He added that the actual innovation in graphics has been driven by Microsoft in the last ten or so years. "OpenGL has largely been tracking that, rather than coming up with new methods," he said. "The geometry shader, for example, which came in with Vista and DirectX 10, is wholly Microsoft's invention in the first place."

Given Carmack's dedication to OpenGL, it's safe to assume the API will be used in RAGE, DOOM 4 and other 3rd-party games which will use the id Tech 5 engine. If anything, OpenGL has seen a resurgence on mobile devices via OpenGL ES. The latest version (2.0) supports vertex and fragment shaders, and doesn't use transformation, lighting, texturing, and fog calculations, breaking backwards-compatibility to versions 1.0 and 1.1.

Create a new thread in the UK News comments forum about this subject
This thread is closed for comments
Comment from the forums
    Your comment
  • infernox_01
    i like opengl because its open xD. i can have tesselation on windows xp, os x or linux, rather than being limited.
  • Zingam
    Shiit happens
  • nth_man
    As it was said in :

    The article you've linked to [] mixes up a family of API's (Direct X) with a 3D only API (OpenGL). The journalist should have mentioned Direct3D when comparing to OpenGL. Carmack would never make such a mistake, hence the article probably has more journalistic interpretation / freedom in it than actually quoting Carmacks exact words. The proof is still in the pudding, since Carmack is still using OpenGL for idTech5 rendering engine, and not Direct3D. There was a period in 2006-2008 where OpenGL got intangled in a dispute amongst it's members regarding the future direction of OpenGL. However, ever since they got their act together, OpenGL has been moving faster and adopting newer technologies more agressively than the Microsoft offering. There have been 3 more OpenGL spec releases in the last 18 months compared to Direct3D. Each spec matches hardware requirement (what's the point of doing a release if it doesn't target hardware support). Hence, OpenGL 4.1 supports more hardware features than Direct3D.

    Disclaimer - I write 3D rendering engines professionally for a living.