01 Aug Is Gaming Doomed For Apple
Here Comes Mojave
With the recent introduction of Mojave, Apple’s new OS, Apple’s documentation shows that they decided to deprecate OpenGL in favor of their own Metal platform which is optimized for Apple’s own platforms and processors leaving some game developers thinking that they may no longer be supporting Mac. OpenGL’s deprecation means that it will still be available in each of Apple’s operating systems, but it will no longer get updates and it does mean that it’ll be eventually removed completely. Although Apple hasn’t set a kill date they are actively asking Developers to build all new games using Metal.
OpenGL
Maybe we jumped in a little too soon… Let’s start with what is OpenGL? At the highest level, OpenGL is a cross-language, cross-platform software interface that allows a programmer to communicate with graphics hardware. Silicon Graphics Inc., started developing OpenGL in 1991 and released it on June 30, 1992; applications use it extensively in the fields of computer-aided design (CAD), virtual reality, scientific visualization, information visualization, flight simulation, and video games. Since 2006 OpenGL has been managed by the non-profit technology consortium Khronos Group. So why is this important? It allows software developers to more closely integrate their programs with hardware allowing them to use hardware to render aspects of their programs faster.
OpenGL is an evolving API. New versions of the OpenGL specifications are regularly released by the Khronos Group, each of which extends the API to support various new features. The details of each version are decided by consensus between the Group’s members, including graphics card manufacturers, operating system designers, and general technology companies such as Mozilla and Google.
Why the Controversy
The big issue is the number of games running on OpenGL, and although many agree that OpenGL is a bit older now, most feel it’s too early to stop using it. OpenGL has been the trusted workhorse of many developers for decades now so telling them it’s time to change was bound to stir up some negative feedback amongst the legions of OpenGL users. Dan Omachi, Software Engineer at Apple, explained during a session at WWDC that OpenGL was designed 25 years ago. 3D rendering has changed fundamentally since then, including things such as multithreaded operations and asynchronous processing.
Metal Walks In
In comes Metal 2. As Apple states,
Metal 2 provides near-direct access to the graphics processing unit (GPU), enabling you to maximize the graphics and compute potential of your apps on iOS, macOS, and tvOS. Building on an efficient low-overhead architecture with precompiled shaders, fine-grained resource control, and multithreading support, Metal 2 evolves to give the GPU even greater control of its graphics pipeline, accelerate neural network training, and provide powerful new tools that give deep insight into your shader code.[apple developer]
Metal 2 Overview
Learn Some Metal
So Where Does That Leave Us
Metal is supported by popular third-party engines such as Unreal, Unity, and Lumberyard as well as obviously Apple’s own frameworks like SpriteKit, SceneKit, and Core Image. The truth is people that learn Metal, end up loving it. Its well-optimized API offers great performance and when you’re ready to make the transition from OpenGL to Metal you’ll find tons of documentation and support along the way, so although many will resist the initial jump, it may just be a better thing at the end of the day.
Also published on Medium.