What version of OpenGL does Unity 4 Mac use? Also, how does that version compare to Direct X 11’s features?
This is not a Direct X vs OpenGL thread! I am just curious about the features of the specific version of OpenGL that unity uses on Mac.
What version of OpenGL does Unity 4 Mac use? Also, how does that version compare to Direct X 11’s features?
This is not a Direct X vs OpenGL thread! I am just curious about the features of the specific version of OpenGL that unity uses on Mac.
Not sure… but it degrades fairly well to older computers within a 10-year-ish timespan… and I believe it still works on fixed function pipeline, so probably GL 1-point-something? Still, my old mac from 2006 was already at GL 2.0. There’s been numerous advances since then, so comparing to DX11 basically means lots of shaders and geometry and funky stuff.
Found this the other day:
https://developer.apple.com/graphicsimaging/opengl/capabilities/
Looks like 3.2 is the current mac version.
Do you know if Unity supports that version though?
Not sure. But OpenGl 3.2 does not really compare to Direct3D 11 in terms of features.
If OSX supported OpenGL 4.x, that would be a different story.
From what I can tell, OpenGL 3.2’s feature set is just about equivalent of D3D 10, though some features such as instanced arrays are only available in OpenGL 3.3. It seems OpenGL 4.3 had most of D3D 11’s feature set, including ComputeShaders.
The word on the street is that that’s coming in 10.9…
I would think it is safe to assume that Unity only uses OpenGL 2.x.
Using the link deram_scholzara posted it shows that OSX 10.6 and earlier only support 2.x And the Unity System requirements page says that it supports OSX 10.5. Also I haven’t seen any news like the DirectX 11 announce.
And to answer the last part of the question 2.x would still be ~ DirectX 9.
I’m pretty sure that with the DX11 announcement they said that equivalent OpenGL support was available as well. And it’s quite possible that multiple levels of API compatibility are supported - I think that they’re only now / recently considering dropping DirectX 8 level hardware support, but that hasn’t stopped them from supporting DX9 level hardware for years and DX10/11 recently.
Please see http://forum.unity3d.com/threads/152867-OpenGL-4 and this thread for Aras’ comment: http://forum.unity3d.com/threads/166852-dx11-features-in-linux
There is no equivalent to DX11 (or DX10) on Mac ATM. The current version is Open GL 2.1 “plus a lot of extensions”. Unity has no immediate plans they’ve announced to support 4.X. The business case just isn’t there for the amount of energy. You can help if you’d like. As Aras says:
"We do want to support GL 4.x, however, it’s major amount of work. Mostly in shader cross-compilation. If you want to help, here are shader compilers we need to implement DX11 HLSL → GL 4.x GLSL features in: GitHub - aras-p/hlsl2glslfork: HLSL to GLSL language translator based on ATI's HLSL2GLSL. Used in Unity. and GitHub - aras-p/glsl-optimizer: GLSL optimizer based on Mesa's GLSL compiler. Used to be used in Unity for mobile shader optimization. "