← Back to context

Comment by kccqzy

9 hours ago

In practice the best way to get an OpenGL-ish API is WebGL2. I don’t think Apple would dare to break that.

WebGL2 already has a compatibility layer to make it work on macOS. macOS is stuck on the 2010 vintage OpenGL 4.1 which predates even OpenGL ES 3.x on which WebGL2 is based. They use the ANGLE (Almost Native Graphics Layer Engine) from the Android project with a metal based backend.

Which kind of hints towards the fact that they could definitely have supported OpenGL in a way that project like MoltenVK work. The OpenGL standard is frozen in time, last update was in 2017. It's not too late.

The decision not so support modern OpenGL is why so much engineering/3D/CAD/gaming software is suck on the windows platform. There is no true cross-platform graphics standard anymore. WebGPU might be our last hope.

  • ANGLE is also used by Chrome and Firefox for WebGL2. It includes a translation layer from WebGL2 to Metal.

    The decision not to support OpenGL is probably because the API isn’t actually very modern and requires the driver to reconstruct what the user code wants. The decision not to support Vulkan however is most likely a political decision.