Yesterday at WWDC 2018, Apple revealed macOS Mojave, which is set to bring users a Dark Mode, redesigned Mac App Store, organizable Stacks, streamlined screenshots, and more when it launches wide in the fall. Alongside the new features, Apple has confirmed that it is deprecating OpenGL (Open Graphics Library) and OpenCL (Open Computing Language) in favor of Metal.
This means that apps built using OpenGL and OpenCL will still run in Mojave, but they will no longer be updated after macOS 10.14 launches. Apple encourages games and "graphics-intensive apps" built with OpenGL to adopt Metal ahead of Mojave's launch, and apps that use OpenCL for computational tasks "should now adopt Metal and Metal Performance Shaders."
Launched four years ago, Metal is Apple's own 3D graphic and programming interface that combines the functions of OpenGL and OpenCL under a singular API. In explaining the move of deprecating the "legacy technologies" of OpenGL and OpenCL, Apple said that "Metal avoids the overhead inherent in legacy technologies and exposes the latest graphics processing functionality" of GPUs found in devices across iOS, macOS, and tvOS.
Although Apple's decision to deprecate the older technology in favor of its own graphics API may not be surprising, some game developers have begun criticizing Apple for the move, particularly how it affects the future of gaming on Mac. Notably, OpenGL is an open-source, cross-platform solution that made it simple for developers to build games on both Mac and PC at the same time, providing some parity to a platform that many have agreed is lacking as a gaming hub.
Since "many games and apps continue to use OpenGL," particularly those that released prior to Metal in 2014, the shift to Metal-focused development is leaving Mac developers worried about any potential to grow as a gaming platform (via PC Gamer). Game developer Sam Loeschen tweeted that he feels "conflicted" about the decision, calling Metal a "really, really good" graphics API but admitting that "this decision alienates macOS further as a gaming platform."
Speaking with PC Gamer, game designer Rami Ismail said that while "it's not doomsday," it appears that Apple is preparing for such an occasion in regards to fully terminating OpenGL/OpenCL on Mac. He explained that for now, "the worst that's going to happen" is that parts of old apps will "break," and pointed out that lacking a single cross-platform graphics API is a "pain" and "not very good for developer confidence" in Apple.
"With deprecation, abandonment can vary from 'soon' to 'never', so until we have information on that, we can't really say," he said. "All we know is Apple seems to have shown intent to rid itself of OpenGL in favor of its own graphics API, Metal. The problem with Metal is very similar to the problem with DirectX: it's not cross-platform.
"It's not doomsday, it's more like Apple building a giant EMP machine and saying 'we might or might not use this.' The worst that's going to happen is old stuff will break, and our engines and libraries will grow a bit to support both Direct3D and Metal. Not having a clear guideline for future actions Apple might take in this regard isn't very good for developer confidence, I'd guess, and not having a single cross-platform graphics API is just a pain."
More developers and programmers chimed in on the news to PC Gamer, including Alex Austin, who ultimately said that while he likes to develop on Mac to "support fans if I can," he's most likely "not going to spend any time on Metal because Macs are a pretty small percentage of the market and really probably not worth it even now."
Top Rated Comments
Some developers may decide that it's not worth the effort to port their code to Metal, since Metal is only used by Apple. Thus they will just discontinue Mac support.
We are going to lose software on the Mac platform because of this.
Regardless, to tackle the cross-platform API issue, we have MoltenVK. It's not a single API at the backend, but it solves the issue somewhat. And a lot of games use middleware like Unity and Unreal, and they can handle the API calls.
Apple threaten's to abandon a cross platform product that allows developers to write code on multiple platforms in lieu of a propretary solution that only benefits Macs.
While I'll not disagree that Metal may be a better performer, it seems like Apple is not doing the best to court and entice developers. Games on macOS is anemic at best and this may make it worse.