At its WWDC 2018 event, Apple reveals macOS Mojave, the next generation of system for its Mac computers. The major update introduces many features like a new Dark Mode, redesigned Mac App Store and new Stacks, and it is scheduled to launch in this fall.
Along with the new features added in macOS Mojave, Apple further confirms that “apps built using OpenGL and OpenCL will continue to run in macOS 10.14, but these legacy technologies are deprecated in macOS 10.14”. The company suggests that, games and graphics-intensive apps that use OpenGL (Open Graphics Library) and apps that use OpenCL (Open Computing Language) for computational tasks should now adopt Metal and Metal Performance Shaders. In Apple’s words, Metal is designed to provide best access to the modern CPUs on its iOS, macOS and tvOS devices, and the support for graphics and compute in Metal lets apps efficiently utilize the latest rendering techniques.
OpenGL is an open-source, cross-platform graphics renderer that helps developers to build games on both Mac and PC, while Metal is Apple’s own 3D graphic and programming interface, which combines the functions of OpenGL and OpenCL under a singular API. It is not so surprising to see Apple stops support for OpenGL in favor of its Metal, but the decision to deprecate the older OpenGL and OpenCL is criticized by some game developers, who argue that Apple’s move is not beneficial for across-platform game development, and they would even consider to stop developing games for Mac.
Some major game developers have rolled out their game apps for Mac based on Metal technology, including “World of Warcraft”, “The Witness”, “Deus Ex: Mankind Divided”, and “Dirt Rally.” Yet more developers may not be willing to spend time in changing their work from using a cross-platform API to copy with the platform-specific technology.
“I’m 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,” suggests Austin, Bridge Builder and Ponifex developer. Thomas Altenburger of Flying Oak Games also admits that “the cost of maintaining a dedicated pipeline is clearly higher than the Mac users potential.”
Soon after the public criticism from some game developers, Apple explains its reasoning at a Metal for OpenGL Developer session. Metal developer liaison Dan Omachi stresses that “Metal is already supported by popular third-party engines such as Unity, Unreal, and Lumberyard, plus Apple’s own high-level frameworks SpriteKit, SceneKit, and Core Image, so developers unfamiliar with Metal needn’t do all the hard coding themselves”.
Ending support for OpenGL (which may come sooner or later) means that numerous, old games, if they are not re-written based on Metal, could not work on future Apple devices running newer operating systems. If you are an macOS developer, check this page to know the key developer-related features and changes introduced in macOS 10.14.