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

DX9 was a steadfast because of DX10 was both a highly breaking update and required a new , highly unpopular OS.

Unfortunately that meant DX9 had the most market share at the time and for many years after.

While I agree that consoles helped the adoption of DX10/11/12, I disagree that it was driven mainly by the popularity of the XBox.

The big reason IMHO, and it’s similar with Vulkan, is that GL was fractured with tons of vendor extensions, much higher variation of feature support etc… DX was a more stable and consistent target.

There’s also the renewed investment by Microsoft into DX at the time, with a lot of investment into abstracting the other parts of the OS. That was probably driven by the Xbox like you say, but I think it’s a subtle difference in that it became the better API surface to target vs GL+other audio and input libs, instead of the ubiquity of the consoles.




Vendor extensions aren't really an issue in practice though - if your program needs the functionality the extension provides, you'll use it and have it as a requirement. If it is good/essential functionality, it'll either become part of ARB or EXT at some point or at the very least will be implemented by multiple vendors.

It isn't like applications have to support all of extensions or anything like that. If some functionality was provided by, e.g. D3D10 then the same functionality would also be provided by OpenGL + some extensions.

If anything extensions are a good thing because it is thanks to them that OpenGL wasn't stuck in OpenGL 1.1 that Microsoft provided with Windows and how a lot of new hardware functionality was exposed to applications before even D3D had access to it - without even being locked to a specific OS or OS version (like the Vista you mentioned). And unlike Direct3D you didn't had to do a D3D9->D3D10/11->D3D12 complete rewrite of your code, you just used the new functionality where that makes sense.




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

Search: