Introducing four new operating systems simultaneously gives Apple the annual opportunity to bury bad news under good headlines, and 2018’s WWDC was no exception: iOS, macOS, and tvOS will stop supporting the popular cross-platform graphics renderer OpenGL in favor of Apple’s Metal. After some game developers publicly threatened to stop making Mac games, Apple explained its reasoning last night at a Metal for OpenGL Developers session.
Metal developer liaison Dan Omachi explained that OpenGL was designed 25 years ago when 3D graphics were in their earliest days, and has kept going thanks to extensions for modern GPU features. But the fundamentals of 3D rendering have changed, including the overall GPU pipeline, multithreaded operations, and asynchronous processing. So while PCs shifted to Vulkan, Apple created Metal, seeking GPU/CPU efficiency, predictability, and resource control, particularly for its modern A-series processors.
Omachi said that while existing and soon-to-be-launched macOS 10.14 apps can use OpenGL, and iOS/tvOS 12 apps can still use OpenGL ES — “and this will remain so for some time” — all new apps for these platforms should be built with Metal from their inception. To that end, 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.
Consumers and developers alike have some reason to be concerned, as ending OpenGL support will mean that hundreds of thousands of older Mac, iOS, and tvOS games won’t work on future Apple devices running newer operating systems. But the change won’t be abrupt or immediate. For now, Apple is deprecating OpenGL — leaving it in each OS but not supporting it — while keeping its removal date ambiguous. Once it’s removed, which could be two years from now, apps using OpenGL will stop working on devices running the latest operating systems, but will continue to work on devices with older OSes.
While many developers have already shifted to Metal and others rely upon third-party engines that support Metal, the impact on PC ports to the Mac could be significant. As PC Gamer spotted, developers are noting that “this decision alienates macOS further as a gaming platform,” as OpenGL is a better-known standard despite Metal’s excellence, and its omission will make developers just skip Mac ports that already aren’t worth the time or money invested. It’s unclear how much of an impact the deprecation of OpenGL will have on the comparatively thriving iOS platform, where Metal coding has seemingly been thriving for some time.