bgfx-python icon indicating copy to clipboard operation
bgfx-python copied to clipboard

relation to imgui?

Open SuperSimon81 opened this issue 3 years ago • 3 comments

Although I´m using it avidly Im not sure I understand how imgui is integrated into bgfx-python. I´m quite interested in using the docking features from imgui which seem to be available in packages such as pyimgui and dear pygui.

Is what is included in bgfx-python a wrapper around a specific version of imgui? Would it be possible (for me) to somehow use either pyimgui or pygui with bgfx-python. Any nudge in a direction on where to start would be greatly appreciated!

Thanks again for a great repository!

SuperSimon81 avatar Jun 17 '21 15:06 SuperSimon81

Thanks @SuperSimon81 for the kind words 🤗 I integrated the same ImGUI linked with the original BGFX repository. Reason is that it requires quite a lot of code to pipe ImGUI's backbuffer to BGFX one. You can se how it is done looking at dependencies/bgfx/examples/common/imgui/imgui.cpp.

The new cppyy bindings provides you with a JIT C++ compiler and all the necessary headers to access BGFX's internals, but I'm not sure about a specific ImGUI Python binding. I've looked at pyimgui in the past as I've found it more pythonic, especially for handling primitive types like ImFloat, but I've found that I needed to heavily modify the source code to access the required internals.

Hope this will help you a bit!

fbertola avatar Jun 21 '21 14:06 fbertola

Thank you. I will look into it. I´ll let you know if I make any significant progress

SuperSimon81 avatar Jun 22 '21 08:06 SuperSimon81

I´ve been fiddling with this a bit and concluded I´m out of my depth. I´ve settled on trying to make ImGui::Image work in bgfx-python. As far as I can tell the function is defined in dependencies/bgfx/examples/common/imgui/imgui.h using inline, so I thought it would be available. But ImGui.image or ImGui.Image throws an error in bgfx-python. Am I going about this the wrong way?

SuperSimon81 avatar Jun 25 '21 11:06 SuperSimon81