For what seems like forever, id Software programming guru John Carmack has built his legendary game engines around the cross-platform OpenGL API. That trend may well continue, but not because Carmack thinks OpenGL is superior to Microsoft's competing DirectX API. In an interview with Bit-Tech, the programmer reveals that he thinks DirectX is a better API today: "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."
Carmack also says that OpenGL "still works fine," so a switch isn't necessarily in the cards. Despite the Microsoft API's apparent benefits, OpenGL is rooted deeply in id's game and tool code. Transitioning to DirectX would involve a lot of work, and it might complicate supporting platforms like the PlayStation 3 and Mac. Going the DirectX route would probably ease development for Windows and the Xbox 360, though.
The Carmack quotes are meant to tease an upcoming article on the state of OpenGL gaming on the PC, and Bit-Tech follows them up with a nice snippet from AMD developer relations manager Richard Huddy talking up Microsoft's invention of the geometry shader in DirectX 10. We're on to DirectX 11 now, an API with much improved tessellation support plus multi-threaded rendering and compute shaders. Microsoft does seem to be doing a better job than OpenGL's governing body when it comes to pushing new features for PC graphics. Thanks to Slashdot for the tip.
|Rumor: Radeon R9 285 to arrive on September 2||25|
|Deal of the week: Devil's Canyon for $194.99||1|
|This gameplay clip made me pre-order The Vanishing of Ethan Carter||6|
|Leaked slides may expose next-gen NUCs||4|
|Thursday Evening Shortbread||21|
|Specs for upcoming FX-8300 chips leak out||63|
|Report: Windows Threshold preview planned for Sept 30||31|
|Only a few hours remain to win ~$1k of hardware via haiku||24|
|Browser plugin identifies advertorial content||10|