I’m in the process of developing an application using Cinder with a lot of user interface elements. I’ve tried many UI blocks, and most work quite well, but I’ve come across an issue that seems to plague most if not all UI frameworks; once you use a UI framework, you loose the ability to use Cinder’s draw functionality. I understand why this is; the framework has its own drawing routines and draws itself and all nodes/elements of the framework that make up the UI. Those elements draw themselves and in some cases you can use Cinder’s gl::draw*() calls, but often you can’t. Often you’re trapped within the UI framework (as far as I’ve seen).
To elaborate and give some examples:
ImGUI you can use Cinder’s draw commands via custom drawing routines
NanoVG drawing is done via it’s own vector calls, loading textures must be done via NanoVG, does not play well with Cinder’s draw calls (e.g. texture manipulation)
poScene fully possible to use Cinder’s draw commands here, but it lacks UI elements
My question is:
Are there any UI frameworks that play well with Cinder’s draw calls in such a way that I can use Cinder’s draw calls in combination with the UI framework, and be able to use Cinder’s Texture/Shader/Vbo/Vao stuff?
I would like to use poScene as the scene graph in combination with another framework which has a bunch of UI elements. Is this possible?
ImGui might be possible because I can control the rendering routines of each element. NanoVG is difficult with regard to textures I’ve seen because it uses it’s own drawing routines and texture loading (but it has many good looking UI elements). poScene is also well to control via Cinder, but it lacks all but two UI elements.
Thanks in advance!
Bastiaan de Jong