OpenGL is deprecated in 10.14 Mojave

https://mobile.twitter.com/EvilBachus/status/1003722391627976705

Any news whats cocos plans since they use glwf renderer?

2 Likes

The same for iOS:

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.
Metal is designed from the ground up to provide the best access to the modern GPUs on iOS, macOS, and tvOS devices. Metal avoids the overhead inherent in legacy technologies and exposes the latest graphics processing functionality. Unified support for graphics and compute in Metal lets your apps efficiently utilize the latest rendering techniques. For information about developing apps and games using Metal, see the developer documentation for Metal, Metal Performance Shaders, and MetalKit.

This is a BIG problem.

1 Like

This is for iOS as well.
This is D$*# move by Apple.
Big problem for us.

Just curious: is Unity on top of OpenGL?

Unity already has metal support

@slackmoehrle are cocos2d-x developers maybe working on it :slight_smile: ?

Maybe the cocos team should switch to Vulkan (Android 7+, Windows, Linux) and MoltenVK (macOS, iOS). So they have only one API to maintain -> Vulkan.

2 Likes

We are just learning about this. No plan yet but I’m sure we need to deal with this :slight_smile:

4 Likes

would it be hard for cocos2d-x to support metal ? does this mean that cocos2d-x will not work with ios in the future since they are deprecating openGL ES ?

Knowing Apple if they deprecate something in one version, they remove it in the next one, so we’ll better figure out something quickly. That’s why I like Android more - backward compatibility is amazing. Apple removes all things they don’t like (curse you Apple for removing C-style for loop).

It’s time for bgfx.

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

2 Likes

By the way: won’t removing OpenGL on MacOS kill gaming? I mean older games like let’s say Diablo II.

1 Like

I think it is a longer deprecation cycle than removing in the next release.

But @piotrros is right. This will kill all old games, which depends on OpenGL.

I can understand the Apple move, because they want to force to transformation to Metal. But from the end user point of view, it’s not a good step.

They think developers will be forced to update their apps, but that will work for iOS only.

I have an important question from cocos team.
Is supporting metal has highest priority for next release?

1 Like

Is there anyone who has OpenGL & Metal skills and understands all this, so who can technically comment how it is really affect us in future? In a wide sense.

Like this is should be a new engine version from scratch and for easy supporting it it should have no problems with backward comparability, so no OpenGL with in?

I have Mac and games is not about it :smiley:

1 Like

But you are not the default user. You are a developer and even other developers are using macOS for cocos2d-x.

Actually, the old games are the best on Macs, because they run smoothly on the embedded graphics card.

1 Like

This is annoying, and I hope Apple makes the process smoother than it currently appears.

Having said that here’s a few thoughts:

  1. Many games that run on Macs now have already been “ported” from earlier binaries. Therefore if they were recently released on Steam or GoG (or similar) then it’s likely they will be re-ported to support Metal.
  2. It’s only deprecation, which means at earliest users won’t be affected until late-2019, possibly if they do follow a longer deprecation path even later.
  3. For older games it’s likely they’d run well enough in a Virtual Machine
  4. Users can always keep an older computer around to play these games just like games we can no longer play on today’s OS/API/Hardware (granted again, most are avail through emulation/VMs).
  5. It’s possible someone (or ideally Apple) could write a thin-layer of binary GL abstraction, and since shaders are compiled at runtime on Mac, there’s less issue on that front.
  6. A translation framework/library can be written to support every OpenGL (ES) version that iOS/Mac supported to allow any developers to compile their GL game that executes Metal through the translation. e.g. MoltenGL, but supporting more versions.