For the next major release of my app, I’d like to move away from OpenGL and switch to Vulkan.
My app does a lot of offscreen rendering and basically only draws the resulting texture to a canvas in JUCE using an OpenGL renderer.
The plan is to move the offscreen renderer over to Vulkan.
On the Mac I could probably just write my own component which draws the Vulkan texture onto a Vulkan surface (there’s vkCreateMacOSSurfaceMVK which looks like the perfect fit here).
I don’t yet know if this prevents me from using OpenGL in the same window. That’s still on the research list.
I never actually had a look at how JUCE implements Components under the hood on Windows. It looks like the OS really just provides the window and not the actual views, right?
This probably prevents me from using the same approach as on Mac and I can only use an OpenGL based drawing with some kind of texture sharing between Vulkan and OpenGL.
There appears to be no official way to do this. Only some proprietary extensions to do this.
Does anyone have more experience or can give me pointers on what to look into?
Thanks in advance!