The characterization of Microsoft being disorganized because they were working on OpenGL at the same time as Direct3D is a direct result of misunderstanding this difference. Microsoft had to address to entirely different markets: gamers for whom high frame rates were much more important than fidelity and engineers for whom accurate rendering was important (Even today, high end graphics cards for Windows workstations run OpenGL.)
[http://www.nvidia.com/object/autocad_pd_perf_drivers.html] [http://en.wikipedia.org/wiki/Quake_engine#Reducing_3D_comple...]
3dLabs involvement with the development of improvements to OpenGL is symptomatic of OpenGL's emphasis on fidelity in rendering and the legacy of SGI from whence it evolved. The slow pace was perfectly acceptable to a group of serious people who care about standards and don't care about games.
3dLabs is also an example of the distinct segmentation of the consumer and engineering market for graphic cards in the PC market. The second PC I inherited in my first CAD job had was a 386 with an Nth Engine B752 - you could have built a kickass gaming system for the price of the card alone but it wouldn't put much of a dent in the price of an Iris.
[http://www.thecomputerarchive.com/archive/Displays/Video%20C...
Keep in mind that back in the 1990's all sorts of consumer grade graphic card craziness was going on in Windows boxes - e.g. VESA local bus [http://en.wikipedia.org/wiki/VESA_Local_Bus] and the volume of new Windows machines was exploding and many of them were running graphically intensive games.
Also missing in the article was the incredibly strong marketing efforts Microsoft made towards game developers. I was in the industry at the time (first at a game company, then a 3D modeling package company, then a 3D modeling company) and you couldn't turn around without getting hit in the face with something about D3D.
My undergraduate degree in CS came from the place that developed the tea pot that sat on the cover of the original OpenGL developer books. I really wanted to see OpenGL win, but between Microsoft exerting its unstoppable mid-90's force in that space and SGI drying up, I think everything could have gone right with the ARB and D3D still would have won.
Take a step back:
A) There's no way in hell Microsoft would allow OpenGL to take the lead from Direct3D on Windows and Xbox. They would wield the carrots and the sticks to prop up Direct3D (and perhaps even disadvantage OpenGL) if it ever came down to it.
B) OpenGL is a success by any objective measure. Nearly every platform except Windows and Xbox uses it exclusively. E.g. mobiles. Game consoles may have dedicated APIs but I'm sure there's a better OpenGL compat layer than a Direct3D.
Recently I've developed some code on Linux for OpenGL 3.3 with GLSL and it is awesome.
OpenGL is a success. D3D is a success. Two competing products/APIs/services can both be successes. The game is about providing solutions. Both D3D and OpenGL did that for a large customer base. It's not about winning/losing, but does it help solve your problem.
(Side note: If you ever want to pull your hair out, try going back in time to convert a DOS game written in X86 assembly using Mode X[0] blts that had been converted and tweaked from 68k assembly standing arcade game into a DirectX game a few months after DirectX is released for Windows95. Just figuring out how to convert the game time [which came from the sound card] into the DirectX world was unreal.)
There's actually a great book written about the creation of Direct3D called Renegades of the Empire (http://tinyurl.com/3n4jnru).
Having read that book I can tell you this account, while accurate in its technical details, misses a lot of other issues that were going on. For Instance...
1. The team pursuing OpenGL was part of the Windows NT group (back when NT and '95 were two different products). The Direct3D team was part of the consumer Windows group. So Microsoft's support (or lack thereof) for OpenGL games was largely based on an internal issue. With Microsoft dragging its feet on implementation in consumer Windows it forced a lot of developers to move.
2. On that note Microsoft's Consumer Windows group was all about moving developers to Windows and making Windows the defacto game standard (and as a result killing off other platforms like Mac, OS/2, etc...). Both the Mac and OS/2 supported OpenGL while they couldn't support Direct3D
3. Direct3D benefited from other parts of the DirectX API. DirectSound, for example, made it very easy for developers to support Aureal's 3d sound technology while still being backwards compatible. DirectInput made it easy to support things like ForceFeedback joysticks. And so on...
4. Microsoft bribed Developers (They did, read the book)
So while the technical analysis is correct here OpenGL's fall was due more to a powerful company doing everything it could to kill the technology off.
In an alternate reality where Windows is still the #1 desktop PC gaming platform, and MS adopted OpenGL instead of developing Direct3D, we'd end up with Microsoft specific extensions and vendor specific extensions to keep OpenGL up to speed with current hardware.
Re: 1. The NT-OpenGL connection made sense for things like CAD "workstations". Win95 and the DirectX stuff was designed for games. It really was completely separate back then, the kernel driver models were completely different.
2. I think it's a bit more nuanced than that. OGL was a bear to program for. Microsoft wrote an easier API but it didn't get good until much later. If anything the OGL group should have seen this coming and done something about it. Instead they chose to ignore it at their own peril. Those other OSes were effectively dead by this point MS didn't need to move developers anywhere they were already captured.
3. Agreed. Even now there is no API like it except SDL, and even SDL is very very limited.
4. Agreed.
OpenGL collapsed due to a lot of things. The primary reason was the group itself. And this is the thing that anti-MS people ignore.
In all seriousness, I did 1 graphics programming course back in the day, and it was pretty insane. This was all in OpenGL. The amount of code required to draw the simplest scene was massive. I seem to remember there's a built-in teapot primitive, and I ended up just using that to construct everything (yes, there are simpler built-in primitives, but none nearly as cool as a teapot). I didn't do very well in that course.
As an analogy, it's like taking a "basics of the web" course, and instead of the expected lessons on HTML and CSS, you learn to write a web server and a web browser.
That said, in retrospect, I'm glad we learned those things. If they would have just turned us loose with Ogre (http://www.ogre3d.org/) or something, no one would have spent the time going back to actually learn how 3D graphics really works.
Funny you mention this - when I was an undergrad, the first complex group project in my EE/CE curriculum (second year; first year was all individual) had us building a web server.
I'm not really blaming Apple. I mean, on top of the core version they've implemented about 100 extensions with names like GL_ATI_separate_stencil, GL_NV_fragment_program2, GL_ARB_instanced_arrays, etc.. But the OpenGL 4.1 specs were released a year ago and I've got 3D code that runs significantly faster when I boot into Windows. Exact same hardware, but it's OpenGL 2.1 (+ extensions) vs. Direct3D 9.
I would suggest Apple could do a better job of keeping up to date with more recent OpenGL specifications. In fact, I am suggesting it.
From reading the comments, it seems like the blog's audience is people who spell the name of that big company in Redmond as "Micro$oft". They are definitely an appreciative audience for Wolfire's silliness, but it in no way has any sort of step on the post linked at the top of this HN thread.
It seemed quite important at the time that he- who begat WinG, which begat DirectX, some of which is covered in Renegades of the Empire, which someone else mentioned, which is certainly worth reading- went on to agitate for OpenGL over Direct3D. Now there's kind of a scrapheap of history vibe off of the whole thing.
Almost by default - simply because DX is a Windows/Xbox technology, and these platforms (particularly Windows, but also the traditional consoles) are fading - and GL is ruling the new world of games - online games, Facebook games, web and so on.
It's rare indeed on HN to see much talk of Microsoft's continuing dominance, because in the web/tech world, that dominance doesn't exist. Games are changing too. And it's games we're talking about here - OpenGL has always run the show in serious applications of 3D, and that shows no signs of abating.
http://altdevblogaday.com/author/gavan-woolery/
:)