Apple deprecating OpenGL

While reading this announcement, i stumbled on this MoltenGL.

But it looks like it’s not totally free.

They are deprecating it on macOS. There are no references to it being deprecated in specific versions of iOS. Deprecation doesn’t mean removal immediately.  Our engineers are aware of this statement from Apple. There are other paths forward that doesn’t involve OpenGL and our engineers are investigating it.

Rob

Thank you for comforting us.  :smiley:

There are now references. It is confirmed across both MacOS and IOS.

Official Announcement

https://developer.apple.com/ios/whats-new/

Last 2 paragraphs on page

"Deprecation of OpenGL ES

Apps built using OpenGL ES will continue to run in iOS 12, but Open GL ES is deprecated in iOS 12. Games and graphics-intensive apps that previously used OpenGL ES should now adopt Metal.

…"

Also, now mentioned on various tech sites, such as

https://www.pcper.com/news/General-Tech/WWDC-18-OpenGL-OpenCL-Are-Deprecated-Mac-iOS

I’ve had a quick look around.  Vulkan is only supported by android from version 7 (nougat), which is at least cross platform, and there is already MoltenVK from Khronos which translates from Vulkan to Metal. Unity supports Metal already.  I’m not aware of any other option that would work on both IOS and Android, which I consider Corona’s primary targets.

My guess is that in the IOS update next year, Apple would likely remove opengl support, and Corona needs to be prepared for that, with an alternative graphics system. 

Any thoughts from anyone on the Corona team?

If this will affect iOS then this is a much more serious development.

This will affect IOS, as linked above, from the date IOS12 is released.  It’s possible it won’t be removed next year, but deprecation creates risk and uncertainty that Corona developers won’t want. From the deprecation step, Apple effectively would have the ability to withdraw support in any future release, and justify it with the deprecation warnings made already.

I’m currently developing a mobile game in Corona.  Ican assume I have at least a year where OpenGL, and Corona will operate.  But, in looking forward to next projects and planning,  I would be wary of Corona without this being addressed.

It is only 1 day since announcement, so I don’t expect a roadmap out of the blue, but I would be happy to hear any kind of reaction from Corona, or their view of this.

Our engineers learned about this just about the same time you do. Obviously we want Corona to be around for a long term as you do and we will adapt to changes as required by Apple. I can’t give you a time line or even an estimate for putting this on the roadmap. 

Rob

if metal has up to 3x improvement on rendering speed then this is something surely high up on priorities?

Thanks for the updates Rob.  Since this affects everyone’s business, especially Corona Labs, I’m sure this is going to become high priority?  Apple has a history of depreciating then removing APIs within months, not years like other platforms.

Do you have an idea when we’ll hear an official path forward from Corona?  I know this just broke and you’re still doing research, but hopefully we’ll hear within the next couple weeks as we all need to start thinking of our businesses future and whether Corona is a viable platform moving forward.

Corona will be a viable platform moving forward. This announcement may mean we have to change some internals, but it shouldn’t have an impact on you.

Rob

Hi @Rob, does Corona have a roadmap in regards to IOS Metal integration? Even if the Apple says the opposite, OpenGL will work on these platforms for some time, but i think, OpenGL will not be supported on the specified platforms after each OS gets the first patch. That’s my guess but probably it will be happening.

In order to relief ourself, we need to hear from Corona about this and how it is going to be covered and when.

BR,

Seha 

We have added this to our roadmap to look at later in the year. Having Corona work on Apple operating systems (iOS, tvOS and macOS) is very important for us. We are going to be supporting some form of GPU based technology on those platforms.  I don’t know if it will be Metal or some other cross-platform but supported technology.

Rob

Having thought some more.  The first possible time this could be removed is IOS13 which would be announced at Apple’s WWDC in June 2019, and released to devices in September 2019.

This is very unlikely, many developers, not just games engines, have used OpenGL on IOS and MacOS for years, because they release their software on other platforms, and OpenGL is the only cross platform solution.  This includes most other cross platform frameworks and many game engines.

If Apple removed this functionality, it would affect 100,000s or millions of apps.  Obviously they want to encourage developers to use Metal their (better) API. Also, Apple is signalling they won’t be upgrading their version of OpenGL.

I think the earliest possible removal of OpenGl on IOS (and even that would be surprising) would be September 2020.  By that time, Corona will have a solution.

Better we now spend our energy and thoughts on making our games and apps - good, fun and popular.

Hi Rob,

Any news?

Ben

It’s in our queue to do, probably after we complete the Android build system update.

Rob

Thanks for the answers, and thanks for your patience, Rob! I’m sure if it ever comes to a point where OpenGL is no longer supported by Apple, we’ll have other options with Corona.

Are you saying that Apple haven’t made an official announcement to drop OpenGL support yet?

They made an official announcement a long time ago. If you look at their documentation at https://developer.apple.com/library/archive/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Introduction/Introduction.html you’ll be met with the following announcement:
 

"Retired Document

Important: OpenGL ES was deprecated in iOS 12. To create high-performance code on GPUs, use the Metal framework instead. See Metal." 

This all sounds like a reboot of Microsoft’s Silverlight attempt to corner the latest and greatest graphics engine. Developers revolted and now it’s dead as of Sept. 2012.