Advice for sharing an OpenGL context with Noesis
Posted: 31 Dec 2022, 13:00
Hello,
I'm intending to use Noesis purely for its GUI rendering, i.e. a different framework (Cinder) drives the underlying application aspects. I've progressed far enough to render a Hello World example as well as tie some functionality into the NoesisGUI.
Now I'm experimenting with relying on some of Cinder's rendering features to ease the burden of porting my work to NoesisGUI.
I've found that once I call NoesisApp::GLFactory::CreateDevice(), the rendering calls that Cinder make now cease to function. I'm assuming this is likely due to Noesis altering various OpenGL rendering settings.
I'm familiar with the ability to push/pop various settings in OpenGL - particularly its render matrices - but that functionality doesn't seem to be as applicable here as the changes to the rendering pipeline aren't all happening in the Draw() call, but instead in each of the two frameworks' way they initially setup OpenGL for all future rendering.
I find OpenGL debugging incredibly tedious and time-consuming, often ending up with just a black window if things aren't working, so I thought I'd just pose an open question if anyone else has had any experience and suggestions with saving/loading Noesis' (or other frameworks) entire OpenGL setting stack in order to switch between them if necessary?
Cheers,
Lasse
I'm intending to use Noesis purely for its GUI rendering, i.e. a different framework (Cinder) drives the underlying application aspects. I've progressed far enough to render a Hello World example as well as tie some functionality into the NoesisGUI.
Now I'm experimenting with relying on some of Cinder's rendering features to ease the burden of porting my work to NoesisGUI.
I've found that once I call NoesisApp::GLFactory::CreateDevice(), the rendering calls that Cinder make now cease to function. I'm assuming this is likely due to Noesis altering various OpenGL rendering settings.
I'm familiar with the ability to push/pop various settings in OpenGL - particularly its render matrices - but that functionality doesn't seem to be as applicable here as the changes to the rendering pipeline aren't all happening in the Draw() call, but instead in each of the two frameworks' way they initially setup OpenGL for all future rendering.
I find OpenGL debugging incredibly tedious and time-consuming, often ending up with just a black window if things aren't working, so I thought I'd just pose an open question if anyone else has had any experience and suggestions with saving/loading Noesis' (or other frameworks) entire OpenGL setting stack in order to switch between them if necessary?
Cheers,
Lasse