Hacker News new | comments | show | ask | jobs | submit login

This is probably the most accurate view of the history of OpenGL vs. Direct3D I've seen on the internet. It goes into the actual implementation details of why OpenGL or D3D have been more or less popular for games\graphics programming over the years. Also follows my personal adoption of the APIs for projects pretty closely. Most other comparisons are too political or anti-MS, and are often written by people that have limited (if any) experience with Direct3D.

I don't know. If a historical account gives the details it knows correctly but leaves a bunch of details out is it still accurate?

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.

Oh I don't doubt that Microsoft politics and their "own the API" policy helped hurt adoption of OpenGL on Windows, but blaming the state of OpenGL on non-Windows platforms on Microsoft is giving them a little too much credit. The ARB was just as much at fault. Apple has had a lot invested in OpenGL, both on the desktop and OpenGL ES and in theory has just as much pull (if not more) as MS, and hasn't done much to improve the state of OpenGL either. Things have been better post ARB, Khronos does a pretty good job, especially with OpenGL ES (which still has its faults... http://aras-p.info/blog/2011/03/04/mobile-graphics-api-wishl...).

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.

Surprised no one's mentioned the Fahrenheit project. Microsoft's aborted alliance with Silicon Graphics. http://www.microsoft.com/presspass/press/1997/dec97/fahrpr.m...

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.

1. But how does that explain that Direct3D came out in Windows NT first? From what I remember the NT version was more advanced version released at that point (DX5 to 95's DX3) and they even managed to pack in a few games that took advantage of it (Pinball stands out). By my accounts it looked like Microsoft was using NT to position Direct3d with poor OGL thrown in for those too stubborn to move.

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.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact