WITH APPLE ANNOUNCING the deprecation of OpenGL what will happen to the many OpenGL-based applications running on today’s macOS platform—a platform that has been booming for years in the professional markets where 3D and CAD applications reign?
Let’s first take a look at what has been stated. At Apple’s annual WWDC this past June, Apple stated it would depreciate OpenGL for the upcoming macOS Mojave, due later this year. This news instantly sent macOS game developers into a tissy. (see: The Inquirer, “Game developers fume as Apple deprecates OpenGL,” 5 June 2018) Deprecation, of course, doesn’t mean that the OpenGL plumbing in macOS Mojave will be pulled out. Far from it, what it means specifically is that Apple will not be incorporating future OpenGL advancements into macOS nor will it be responsible for OpenGL items that may break in future versions of macOS due to their work in the operating system.
It is worth noting that Apple has lagged the entire industry in OpenGL adoption. Where the latest “state-of-the-art” in OpenGL is not where you will find Apple.
Options for Apple Developers
Just because Apple has lagged other platforms in OpenGL spec support doesn’t mean we can count on multiple years of continued support in OpenGL. In talking to Neil Trevett, VP at NVIDIA and elected president at The Khronos Group, he mentioned that in his conversations with developers over this news, most developers look at Apple’s history with regards to deprecation announcements. That probably isn’t good news; deprecation for Apple often means things stop working rather quickly. In this case, though, Apple will most likely give developers ample time to the significance of OpenGL across multiple software markets.
Trevett told me that there were four primary paths developers can take with regards to Apple’s deprecation of OpenGL. Path one is easy. Continue utilizing OpenGL but stop supporting your macOS versions of your app. This is what some smaller game developers are saying they will be forced to do.
Apple graphics folks I work with are fine with MoltenVK, and many Apple and AMD folks have provided concrete technical feedback to improve the performance of MoltenVK…
The second option is to do what Apple wants developers to do—port OpenGL apps to Metal. But that means extra work on the part of developers who write most often to Windows and other OSs. Another third option that Apple likely does not favor given its lack of support, is to move one’s cross-platform OpenGL-based app to the Vulkan API. While Apple has not fully supported Vulkan, there are tools available to enable developers to get Vulkan working on both macOS and iOS. These tools include the Vulkan macOS SDK by LunarG and MoltenVK library from the Brenwill Workshop. (see: The Khronos Group, “Vulkan Applications Enabled on Apple Platforms,” 26 Feb 2018).
We discuss MoltenVK as the logical pathway for OpenGL-based developers targeting macOS along with other platforms in another article coming up this week. One final note before we mention the fourth option for developers. A word from a Valve developer here strongly suggests that Apple isn’t against Vulkan and the MoltenVK pathway for developers who want an option other than Metal. In a note following a story titled, “Apple could be clamping down on MoltenVK, Vulkan-Metal hybrid” at the website Neowin, the Valve employee said:
“Apple graphics folks I work with are fine with MoltenVK, and many Apple and AMD folks have provided concrete technical feedback to improve the performance of MoltenVK, and we have uncovered bugs in HLSL->GLSL->SPRI-V->MSL together which should help make the entire graphics ecosystem stronger.”
Let’s hope this Valve employee is correct in Apple’s larger position with respect to MoltenVK and Vulkan. There are literally hundreds of macOS developers writing professional apps across platforms (Windows principally) who absolutely depend on OpenGL, the graphics API that has reigned in the world of CAD and pro 3D apps for decades now.
A Fourth Option—WebGL
When in June Apple let developers know OpenGL was depreciated and gaming developers got upset Apple’s own Dean Jackson, who is WebGL lead at Apple, tweeted, “Apple’s announcement that it is deprecating OpenGL doesn’t have any impact for WebGL development using Safari. Things underneath might change, but WebGL won’t.”
The fourth option for OpenGL-based macOS supporting developers is to push their app to the web. This is not an attractive option for most pro apps developers whose apps and users are well established and older. However, some established older CAD and 3D developers are already moving in that direction. That’s a topic for another time. More importantly, some of the most important new leaders in CAD are already there. One such pro app is Onshape, a next-gen MCAD tool for the product design and manufacturing world.
Where WebGL Is Today and In the Future
The fourth path, the WebGL path, isn’t right for everybody today and maybe even in the future. But insofar as the MCAD and AEC industries are concerned—those industries that predominantly utilize the bulk of professional CAD and 3D applications—WebGL is an increasingly smart direction. The reason isn’t just limited to the benefit of writing once and deploying everywhere. Another important reason is that those industries are increasingly utilizing cloud-based apps that provide workflow streamlining, collaboration and quality controls that can only come about because of the cloud + mobile transformation.
WebGL has the backing of all the major browser vendors, and I would say for years a commitment to uphold and move forward WebGL support. So I can’t think of a stronger ecosystem to bet your application on; if you want to do portable 3D graphics build it in a web environment using WebGL…
In a discussion earlier this year with Ken Russell, Working Group Chair, WebGL, Khronos, he sounded his confidence in both the progress of WebGL and its durability as an application deployment platform.
“WebGL has the backing of all the major browser vendors, and I would say for years a commitment to uphold and move forward WebGL support,” says Ken. “So I can’t think of a stronger ecosystem to bet your application on; if you want to do portable 3D graphics build it in a web environment using WebGL. Developers have repeatedly said that it is the best OpenGL family development environment that they have ever used.”
Neil Trevett, president of the Khronos Group also reminded me this week on a call that WebGL is the only true platform where not a single line of code needs to change to be able to target multiple hardware types. “WebGL as a platform has a level of portability that the native spaces never really ever achieved on a sustainable basis,” he said.
Architosh Analysis and Commentary
WebGL 1.0 has extensive pervasiveness at over 93 percent of the global web browser space. WebGL 2.0, its newer version that brings desktop-class 3D graphics to the browser, has over 62 percent global pervasiveness. And that’s without Safari and Microsoft browser support. It is already supported on Chrome, the world’s most popular browser. It is also supported on Firefox. (see image 02). Support in Edge and Safari are coming.
Earlier I mentioned the MCAD app Onshape. What I didn’t mention is how much Onshape is crushing it in the market. A browser-era darling in the CAD industry, what is important to mention about Onshape is that it has risen in the industry using WebGL 1.0. It runs on Safari today and Chrome and other leading browsers supporting WebGL. The CAD industry has often lagged with OpenGL as well. We have dealt with this extensively here at Architosh. What matters to pro app developers is wide adaptability and platform support, much more than cutting-edge speed and features. It’s almost the opposite of the gaming space.
Apple is most definitely deprecating OpenGL to favor its low-level Metal graphics API for general market and gaming market reasons—skewed most obviously in the iOS direction. In an effort to bolster macOS platform usage and the Mac in general, the company also announced in June plans to enable simplified porting of iOS apps to macOS. Apple emphatically said it has no plans to merge iOS and macOS but a BusinessInsider story features a title that may be closer to the ultimate truth: “Bringing iPhone apps to the Mac won’t stop its slow march to the grave—the future is the smartphone.”
You can read that piece here. But there is another ultimate truth. You will never ever design a building, a bridge, a car, a plane, or the next great gadget on a smartphone. People love their iPhones but real design work happens on desktop computers. This new OpenGL deprecation news seems they are willing to sacrifice macOS pro app support in order to win in the general devices market centered on iPhone. Let’s hope I am dead wrong and Apple has a solid plan to help existing OpenGL developers move forward so they can continue to support macOS.