Hacker News new | ask | show | jobs
by icambron 4405 days ago
I don't know anything about graphics programming, but I couldn't make any sense of this:

> While the current GL spec is at feature parity with DX11 (even slightly ahead), the lowest common denominator implementation is not, and this is the thing that I as a developer care about.

Isn't DX restricted to Windows, meaning its lowest common denominator implementation is nothing at all?

4 comments

What I believe he means is that if you have an OpenGL driver that implements the ENTIRE specification (correctly and in a performant manor) then you have basically all the features of a modern DirectX 11 card available.

The problem is that many OpenGL drivers implement the base OpenGL specs and then a couple of extensions here and there. Because of this you can't rely on what's available and you end up with something that's more akin to a mix of many previous versions of DirectX: some advanced capabilities but many basic ones missing.

That's exactly what I was thinking. In fact, IIRC the only other DX implementation you might consider is the DX version that comes with wine, which I think currently supports DX 9 (Depending on your definition of support). The irony is of course that the wine version is written in OpenGL.
You pick one API per platform. With DX you get All PC:s that run windows (I.e almost all gaming PC:s), as well as Xbox. If your game targets another platform such as PlayStation you pick LibGCM or similar. GL can be used as a back end for some/all platforms but you can't use a single GL backend for all platforms because of the differences.

The fact that DX is hugely popular as a backend for Win/Xbox even for games/engines that also target non-DX platforms is pretty compelling evidence of its popularity among developers.

The driver vendors (AMD, Intel, Nvidia) are the implementers of the standards. That's basically the only thing I know about this that you don't, I think.