The Direct3D vs. OpenGL debate that's currently rocking the PC games industry is getting hotter every day and there are two interesting developments today: First, Microsoft is now listing id, makers of Quake, as a "Direct3D software partner" despite the fact that they've steadfastly refused to support it. Todd Hollenshead, id's CEO has this to say about the "D3D partnership":
"For the record, we are NOT a D3D partner with Microsoft. We have been listed on this site for several weeks, in spite of mail I have sent them requesting a correction."
Interestingly, Microsoft last week demonstrated a version of GLQuake (a version of Quake specially modified to run on OpenGL 3D accelerator video cards) running faster using Direct3D than OpenGL. Supposedly, a Microsoft summer intern, with no prior experience in Direct3D, had written a wrapper in only three weeks that intercepts the calls from Quake for OpenGL and converts them to Direct3D API calls.
Microsoft claimed that GLQuake ran 1 Frame Per Second (FPS) slower with the DirectX 5.0 version of Direct3D than the original GLQuake on a 3Dfx card (this is the card most GLQuake players use). However, using the nvidia RIVA 128 chip, it runs 1 FPS faster. Microsoft stated that GLQuake uses 50 of the 360 calls in OpenGL. The intern was introduced to a hushed crowd, stood up, and received a loud ovation. Microsoft claims that developers have the opportunity to run their games "on lots of installed base" using this technique. They also stated that developers can now create games that will run "on par or faster than OpenGL \[versions\]."
So how does John Carmack, id's programming guru, feel about this? Not too good, actually. He claims that Microsoft put an ugly spin on the presentation.
"The 'Runs faster on D3D' headline is real bullshit," Carmack comments. In the body of the text \[describing the new API\], it admits that it ran slightly slower on identical hardware, but slightly faster on different hardware (the unreleased nvidia RIVA chipset is indeed faster than 3dfx in many cases). That was misleading journalism."
"In any case, the D3D/OpenGL argument hasn't been about speed, but about usability, robustness, and portability," according to Carmack. Unquestionably, D3D has gotten a lot better with DX5 and DrawPrimitive, but it still isn't the best solution. Nvidia is going to have OpenGL support, so D3D still doesn't offer us any other viable platforms. All the fast cards will have OpenGL support, and the other cards couldn't run Quake anyway. They could have run their D3D emulator on an S3 Virge for a crowd- pleasing 5 FPS demo. The apples to oranges headlines could have then read 'OpenGL five times as fast as D3D!'."
id CEO Todd Hollenshead is also upset with Microsoft's demonstration.
"One of the oldest 'spin-doctor' tricks in the books is 'when you can't beat your opponent's argument, simply change the subject.' This is exactly what Microsoft has done in the publicity concerning their conference. It is clearly an attempt to dupe the public and undermine Carmack's credibility by having an 'intern' work on the D3D conversion and then crow about FPS performance while using incomparable hardware. This debate is much deeper than FPS, but the D3D guys are shrewdly looking for a soundbite they can sell to the public. I, for one, haven't been fooled."
Alex reports that he was indeed fired from Microsoft for comments he made via e-mail to Bill Gates and Paul Maritz.
"Yes, I was indeed escorted from my building Tuesday afternoon June 24th around 12:15 in the afternoon, roughly four years and six months after joining the \[Borg\] collective...It was a layer to middle managers on the thread between myself and these guys who made the decision based largely on how stung they were probably feeling from my choice of verbiage."
"As many of you know, my last stand was in the area of 3D. For the record; In my opinion John Carmack is a God, and has my complete respect," Alex comments in his open letter. "The longer I've known him, the more he has impressed me. In theory John is absolutely right about \[OpenGL\], but in practice it will never \[happen\] for reasons that have little to do with technical purity, and a lot to do with cold market forces, politics, and NDA's.
According to Alex, the original DirectX beta cost him his marriage since he was practically living at the Microsoft Campus at the time. The DirectX "dream" was originally pioneered by two programmers from the Developer Relations Group who then built DirectX versions 1-3. Then, Microsoft "re-orged" the technology in their infamous Internet refocusing and turned DirectX over to another (Internet-related) group. Alex says that was the beginning of the end for the usefulness of DirectX.
"I'm sorry now that I stayed long enough to see what would become of it. I was trapped in the quandary of representing technology that was now being built by people I had no respect for, and feeling responsible for the enormous community of developers I had persuaded to adopt it. I stuck around after the re-org hoping to help the new guard become as customer focused as the old had been. It appeases my sense of guilt about all of this immensely to know that I died trying."
Alex even has a sense of humor about his firing:
"I'm not embarrassed about being fired. Like so many things I've done, it wasn't easily accomplished. Microsoft rarely fires anybody. Great achievements are so far between that I'm proud to count all of them."
By the way, I'd like to thank Blue's News for tipping me (and eventually, NEWS.COM) off to this story. Blue is the definitive source of Quake and 3D gaming news on the Web