Closed stephenberry closed 1 year ago
The JUCE backend doesn't rely on a particular graphics backend. ImGui requires two backends to work, one for windowing (JUCE, GLFW, etc), one for graphics (OpenGL, Metal, etc.). The two are independent, so technically you could use any graphics backend with JUCE backend.
However, I don't think JUCE currently support custom rendering with Metal. You can probably hack around CoreGraphicsMetalLayerRenderer
to issue your own draw commands, but the support is not as mature as OpenGL.
I personally wouldn't worry too much about OpenGL being removed from macOS. It's the only cross-platform graphics solution. Removing it would break almost all audio plugins that use hardware-accelerated rendering. There has to be a compatibility layer somewhere. There is already ANGLE and MoltenGL that translate OpenGL calls to Metal. JUCE has to come up with a solution if it ever comes. Because ImGui is platform-agnostic, it's only a matter of switching the backend in the end.
Thanks so much for your thoughts and suggestions. I'll look at using this OpenGL solution for now.
OpenGL is deprecated on Mac. Do you think it would be possible to do this with Imgui's Metal implementation?