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.)
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…
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.
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.
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.
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!
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?