One OpenGLContext with multiple OpenGLRenderers?

For some reason I am still struggling with glViewport related viewing of my custom GL components connected to a single OpenGLContext. I have tried connecting my existing visualizations to @PluginPenguin’s WindowOpenGLContext, but have been unable to get my particular GL visualizations to render at the correct location in the viewport. One of my visualizations always renders in the bottom left corner of the window and becomes hidden the further I move the component bounds away from the bottom left corner of the window. This may be some issue in my shader program for that Component. Does my shader program need to receive x and y coordinates of it’s Component’s intended placement in the parent component? I already provide the resolution (width, height) of the Component to my shader program as a uniform, which seems to work great.

Also, I found another forum post which details a bit more about @TonyAtHarrison’s approach of using a single OpenGLContext with multiple OpenGLRenderers which has been helpful to read:

I wish JUCE had this kind of functionality built-in to encourage use of a single OpenGLContext. Using the JUCE OpenGL classes for some time now (3+ years), I have only recently discovered that using multiple OpenGLContexts is bad practice and causes glitches, especially in plugins. If there had been some kind of singleton OpenGLContext manager class similar to @PluginPenguin’s WindowOpenGLContext in JUCE, I might’ve been aware of proper OpenGLContext handling practices much earlier.