Direct 12 etc and Opengl

Hi guys,

Can someone tell me about the differences between the two. The following subject has piqued my interest but not that much as I’m on a mac mini so real time graphics have never been hot on my wishlist with my onboard graphics chipset :slight_smile: The interest mainly comes from seeing a few games on steam which was made in unity but only works on windows (for example, inside by playdead.) Assuming you have a decent graphics card why isn’t it released on mac, is it an operating system restriction or are the devs just not interesting in supporting other platforms for ‘now’ because some of the effects would be more difficult to trial?

But it always confused me, if say a linux box with the same hardware as windows, why is it that a lot of the fancy effects require direct 12, how is it different from say OpenGL or Mac’s Metal thingy? Is there anyway to unify the technology or not? Is there any advantage to do so?

Thanks

Most likely the dev just doesn’t care about OS X enough.

If you’re using Unity, all that stuff should be pretty transparent unless you use very high end features or write native graphics plugins.

1 Like

Most likley the dev does not care about mac/linux or doesn’t have the hardware to test the game on those platforms.

DirectX is a creation of Micrsooft, and OpenGL is created by Khronos group.
Mac’s metal is creation of Apple.

There are also differences in programming apis - they approach identical problems differently.

DirectX often gets newer features while Opengl often plays catch up.

On other hand, Microsoft often uses next version of directx as a bait in order to force people to upgrade, while OpenGL may make advanced features available to larger number of platforms. For example, there are no geometry shaders in DirectX 9 (which is the maximum DX version on WinXP), but you could use geometry shaders on WinXP if you have a GPU that supports certain version of OpenGL.

The technology probably won’t be ever unified, because there are conflicting interests. For-profit OS developers are interested in attracting people to their platform and locking them in. GPU and software developers, however, are interested in making their hardware useful on large number of platforms. Because of this there will be probably some sort of proprietary api that would essentially aim at locking people in, and some sort of “less proprietary” api, that will try to be supported at large number of devices. Similar situation happened, with cuda, by the way. In addition to Cuda there’s OpenCL, but OpenCL is less known and less popular. On other hand CUDA is NVidia-only.

4 Likes