Apple deprecates OpenGL and OpenCL

Deprecation of OpenGL and OpenCL
Apps built using OpenGL and OpenCL will continue to run in macOS 10.14, but these legacy technologies are deprecated in macOS 10.14. Games and graphics-intensive apps that use OpenGL should now adopt Metal. Similarly, apps that use OpenCL for computational tasks should now adopt Metal and Metal Performance Shaders.
Metal is designed from the ground up to provide the best access to the modern GPUs on iOS, macOS, and tvOS devices. Metal avoids the overhead inherent in legacy technologies and exposes the latest graphics processing functionality. Unified support for graphics and compute in Metal lets your apps efficiently utilize the latest rendering techniques. For information about developing apps and games using Metal, see the developer documentation for Metal, Metal Performance Shaders, and MetalKit. For information about migrating OpenGL code to Metal, see Mixing Metal and OpenGL Rendering in a View.

Games and graphics-intensive apps that use OpenGL should now adopt Metal.

Well this has been quite the day for bad news.

Also I’m interested what kind of time frame they mean by this part:

When a deprecation occurs, it’s not an immediate end of life for the specified API. Instead, it is the beginning of a grace period for transitioning from that API and to newer and more modern replacements.

Like what, months, years before they decide to randomly pull the plug?

… pfffff… the Apple touch… Amazing…

2 Likes

I’ve just looked up this Metal thing and it appears to be an Apple-only API. Like are they seriously thinking anyone (except idk, Unity?) will actually make a separate implementation of the lowest level just for their measly few percent of the gaming market they have?

1 Like

Well wait for next step: deprecation of opengl on ios.

There WILL be implementations. It’s not relevant what Apple thinks, they don’t care. Take or Die.
Especially since many games on iOS don’t use OpenGL already. Actually Apps on iOS are almost always unportable stuff like swift, objective c and the like (now metal).

It’s their right and apple customers probably also have the biggest buying power, so they can push technologies like that. Wasn’t there a Vulkan Renderer which was built ontop of Metal though? So maybe one could build such a layer for openGL (even though it probably sucks to have intermediary layers all the time)

Ever since Vulkan was announced I’ve been anticipating something like this. The bad news is that (a) no such implementations of OpenGL on top of a vendor-neutral (or specific, like Metal) API exist right now, and (b) such an implementation would be quite a nasty job. The good news is that if some enterprising company ever does make such an implementation, it would mean a (hopefully) standards-compliant OpenGL portable across platforms. No more hoping nVidia and AMD don’t screw up the 50 bajillion pieces of an OpenGL implementation. Of course, it still would rely on a working, standards-compliant Vulkan implementation - but from what I’ve been hearing that’s a lot easier for a hardware manufacturer to build/maintain than OpenGL.

Still, this is bad news for a lot of devs. I never would have expected Apple to totally drop OpenGL.

Yeah I also don’t get the decision especially if you think about apps like blender and Autodesk (CAD), 3D Printing Software etc.
Actually I get why they don’t care about a few indie games or gaming on mac in general, but most apple users are creative people (content creators, engineers, …) which are hurt by this. They used to make a Youtube Video about how they use blender and then 3d print something out of it.

I’ll be curious what will happen to blender, but as it has already been said, today was bad news day. However especially @MoffKalast could’ve anticipated that given how poor openGL was on Mac for him.

You are wrong though, there are openGL ES and Vulcan Implementations for Metal, however the first one is proprietary:

And then there is GitHub - google/angle: A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.. People hope that Angle will get a Vulkan Backend which allows you to use openGL → Angle → MoltenVK, but I can imagine that debugging performance issues there is a pure hell.

From open-jfx mailing list:

8 Likes

Probably to stop people developing games for all devices and focus directly on apple. It’s a no from me.

3 Likes

But it is totally no-sense, they have no influence in the PC gaming market. It could be a good move on mobile gaming market though.

Well wait and see… maybe the lwjgl guys will implement a metal backend with gl to metal command conversion…

it would probably be better if they implemented a multiplatform vulcan version. That would be far more general and futureproof.

Yes I supose that’s true, but since it was already so sidetracked I kind of expected them to just keep the minimal support they had. It’s not like it’s costing them anything since they’re doing literally nothing to keep it updated properly.

Well he probably should know what they’re smoking since it was probably the same thing he did when he bought his Iphone. :grin:

5 Likes

I think this is being misinterpreted somewhat. As it is now Apple is developing the actual OpenGL library that is used on OSX and includes it in the OS. That library is being deprecated. Just like the Apple-developed JVM / JDK was deprecated. And why would they include both Metal and Vulkan anyway? To keep OpenGL updated would mean transitioning to Vulkan, right?

I don’t think theres anything stopping applications from bundling a Vulkan and/or OpenGL library that in turn uses Metal to access the hardware? I mean afaik MS isn’t including OpenGL in Windows either?

1 Like

It’s been a while since I looked into it… but I may well have missed that the last time I looked.

Chrome on Winblows uses Angle to translate WebGL to DirectX calls (which came up during one project at my day job). It seems to do surprisingly well, although I think I recall hitting an ANGLE related performance bug or two.

https://developer.apple.com/ios/whats-new/#deprecationofopengles