Doom Creator Says Direct3D Is Now Better Than OpenGL
arcticstoat writes "First-person shooter godfather and OpenGL stickler John Carmack has revealed that he now prefers Direct3D to OpenGL, saying that 'inertia' is the main reason why id Software has stuck by the cross-platform 3D graphics API for years. In a recent interview, the co-founder of id Software said, 'I actually think that Direct3D is a rather better API today.' He added, '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.'"
Is Slashdot not for nerds anymore? I never thought I'd see the day when John Carmack was described on Slashdot as "Doom creator".
They work with the GPU manufacturers. Basically when new GPUs are in development, so is the new DirectX. So MS has a chat with nVidia and AMD. They tell the GPU makers the kind of things they want, the GPU makers tell them the kind of things there hardware is going to have, and they are able to come to a standard that everyone supports. That is why when new GPUs come out they support all the features of the new DX. It isn't some amazing coincidence. Also it is proper support, a single standard that works well with the abilities the cards have. You write your DX driver, and everything works.
OpenGL functions in much more of a lagging capacity. New video cards come out, and then it gets support for whatever it is they bring to the table sometime later. Khronos doesn't seem to go out and engage the vendors during development and try to have OpenGL ready to meet the next gen cards. Also their strategy often seems to be "just use extensions for it," which means that you can have differences between vendors for how things work.
it would be nice. but open source isn't about nice.
And that is why Open Source doesn't win. Be nice and user friendly, and you are able to play better with others.
Carmack changed his mind some years ago. This report is quite late.
However, the title of the magazine is "Custom PC". It is worth keeping in mind that if the PC and Xbox are the only platforms you are targeting then DirectX is a valid choice for development technology.
Otherwise, you are better off developing in OpenGL, where you can target PCs, PS3, iPhone, iPad, Mac OS X, WebGL, industrial Unix (not all 3D apps are games, dontchaknow?). The only thing you can't do much with is the Xbox (technically possible, but deliberately closed by Microsoft).
Also, the pace of change in OpenGL has picked up tremendously with the stewardship of the Khronos group. So OpenGL is starting to have parity in features again after lagging for some time (plus, you can get those features on Windows XP for those still on it).
It's been true for almost 10 years. In fact Microsoft's support for DirectX has always been better than what OpenGL had. Microsoft made it easy to use with all their programming tools and languages and had a great documentation. The API was always cleaner too. There were tons of books written for DirectX. This is the area Microsoft handles extremely well - their Visual Studio development environment is the best IDE on the market and they create great tools for developers. Their mobile development tools kick Apple's and Google's (C#, Visual Studio and Silverlight against Java...).
It would be nice to see open source community wake up and start developing a competitor, as just now Microsoft is the driving force that innovates new technologies for PC and Xbox360 graphics and gaming. But for once it looks like the fact they're the only one doing so isn't slowing them down - they do a good job.
We know who you are!
We have you surrounded!
Step away from the chair and come out with your hands up.
Say what you will about the confusing configuration dialogs and lack of build config options. Visual Studio + Visual Assist is (so far) untouched in terms of features and stability.
(And I'm saying this as a full time developer of Gnome apps...)
There's no -1 for "I don't get it."
So back in the Doom days, there was no such thing as DirectX. OpenGL was all their was. Of course it was high end cards only, no consumer stuff.
So move on up to 1996 and the 3dfx Voodoo comes out. It couldn't support full OpenGL, but Glide was based on OpenGL and it brought real 3D to consumers. DirectX was at 3.0 at this point and had no 3D. Glide, or a subset of OpenGL with a wrapper (how Quake did it) was it.
DirectX 5 came out in mid 1997 and did have 3D, but it was somewhat basic. I mean it could support what consumer cards could do, but lacked a lot that OpenGL had. Still no real comparison.
However by 2001, DirectX 8 was out and DX was showing some real competition to OpenGL. nVidia had been doing DX and OGL as native APIs for their cards for some time, and both ran just as fast. Also now the cards had programmable vertex and pixel stages, just like the high end pro card, and in fact nVidia was selling their consumer hardware in the pro market as Quadros.
From there, DX just started pulling further and further ahead. DX10 was a major update and brought some cool new GPU features, like fully unified shaders. Support for it was not a lot on the software side since it required Vista and games have to deal with older computers, but the GPU makers loved it. OpenGL was not fast in terms of catching up.
DX11 pushes things forward again, and again OpenGL is playing catchup and doing it in a poor fashion with extensions. Not just new graphics features either, but things like support for real multi-threaded and multi-tasking rendering. The ability to treat a GPU much like a CPU and task switch on it and so on.
Then of course there's DirectCompute, part of DirectX. GPGPU integrated in to the API and the same for all vendors. Of course there is OpenCL, a similar idea, but it is not integrated as DC is in to DX.
So back when Carmack was an OpenGL fan, it was because it was the best. However it isn't anymore and as things have changed so has his opinions.
Richard M. Stahlman says vi is now better than emacs.
I've abandoned my search for truth; now I'm just looking for some useful delusions.
Microsoft had the courage to continue making significant incompatible changes to improve the API, while OpenGL has been held back by compatibility concerns.
*tweak*
Apple had the courage to continue making significant incompatible changes to improve OSX, while Windows has been held back by compatibility concerns.
:)
And how many games are made for Apple compared to Windows?
What lunacy...I guess Linux didn't go anywhere either cause it's open source...or Chrome.....or Firefox.....