Apple moving away from opengl—what is the answer for developers now architosh

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.

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.

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:

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

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,” 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.