OpenGL Deprecated in Mojave

Yeah, you would have to port your shaders to Vulkan, which would then be wrapped for Metal transparently to you.

It’s worth noting that this is inevitable anyhow; you’ll just have to do it sooner than you would have otherwise. (See also: switching from fixed pipeline to buffers and shaders.)

1 Like

Note that Metal’s been around for 4 years. :slight_smile:

1 Like

On the bright side: Apple has accepted the first MoltenVK game on iOS
https://www.phoronix.com/scan.php?page=news_item&px=Apple-Lets-In-Updated-MVK-App

5 Likes

Back in business:
https://www.phoronix.com/scan.php?page=news_item&px=Apple-Lets-In-Updated-MVK-App

1 Like

Interestingly their video plugin interface FxPlug is completely based on OpenGL, I couldn’t find anything on their mailing list (pro-apps-dev) about deprecating OpenGL…

Maybe yet another Apple stunt to confuse/block competitors…

1 Like

Don’t forget OpenGL swap-buffers appears to be slowed down on the latest Mac SDK.
I’m also a bit confused about Vulkan vs Molten. MoltenGL is expensive to license whereas MoltenVK is free but only supports Mac stuff. So Molten is a version of Vulkan?
Vulkan also supports the more popular Android & Windows platforms.
edit: https://vulkan.lunarg.com/sdk/home

From my understanding MoltenVK can be used to convert Vulkan code to Apple’s Metal framework.
Edit: So you’d write once in Vulkan and be able to use that code on all platforms.

1 Like

Interesting resource on Vulkan:
GDC 2018 - Getting explicit: How Hard is Vulkan really?

Thanks for that link, that was very enlightening. But I am left with the question, what will be the next cross platform standard…

BTW, the FxPlug alternative OpenFX API is also using OpenGL, so I would be very interested, how a future proof API would handle that.

Since ROLI has taken ownership of JUCE can we expect ROLI to continue to improve JUCE by, for example, including support for Metal?

Heh.

Hey, @jules, do you think Roli will continue to improve JUCE now that you’re sipping cocktails on a beach somewhere?

Kidding aside, Roli acquired JUCE half a decade and two major revisions ago, and they’re actually very good at making sure we have thorough cross-platform compatibility.

1 Like

:smiley: @crandall1 So is OpenCV 3 integration tamer than as discussed in this half decade :slight_smile: thread,
https://forum.juce.com/t/juce-interfering-with-opencv/6375/10

There’s this Apple Dev article on:
Mixing Metal and OpenGL Rendering in a View
…might help to write decoupled code ready for transition to MoltenVK. Let us know if it’s useful.

1 Like

Oh man! haha! I literally this past 3 weeks have been binge watching Star Trek everyday after hours of coding with JUCE and OpenGL and caring for my baby son. I have been having a frustrating day but reading this really made me smile. I love all you here!
Extra special THANK YOU to Chuck @matkatmusic for mentoring me!

OpenGL frame rate dropping on ios devices. what should I use for cross platform ?

1 Like

Don’t enable openGL on iOS, things will work fine and dandy without it.

What @leehu said. You definitely want to #if !JUCE_IOS all your OpenGL.

Currently I’m not seeing any issues with my tests with OpenGL on iOS but I’m expecting it to go wrong at some point. What are people doing to draw 3D/GPU accelated graphics on iOS with JUCE? Could anyone please share any experiences, or equivalent examples of the OpenGL 3D teapot demos that use Metal instead of OpenGL?