How easy is integrate external GUI in to Panda3D? It is possible?
I have experience with Noesis GUI, but as standalone application used with GLFW for display it in window. And I think it would be great idea use Noesis in Panda 3D for GUI.
Why Noesis? I can use Blend studio from VisualStudio and draw gui without coding it. And support most controls from WPF. It is something like WPF.
Btw. it is for C++ therefore I will use C++ in Panda3D.
Complete integration would involve the following steps:
Implementing rendering, either by making a custom RenderDevice implementation on top of Panda’s rendering functions or via their reference GLRenderDevice.
Passing keyboard/mouse input from Panda to Noesis. This is probably best done with a DataNode sub-class that lives in the data graph; see RocketInputHandler in the Panda3D source code for how to do this.
(Optional) Implementing resource loading via the Panda3D Virtual File System.
(Optional) Hooking up their logging system to the Panda3D notify system.
Based on a cursory glance at their documentation, they do seem to provide a GLRenderDevice that may make the first point rather easy. This would involve adding a draw callback onto a DisplayRegion of choice in which you invoke their Render function.
Feel free to ask if you need help with anything. It might also be helpful to look at the libRocket implementation in the Panda3D source code as an example of how an external GUI system can be integrated.
Error (active) E2422 defaulted default constructor cannot be constexpr because the corresponding implicitly declared default constructor would not be constexpr Panda and Noesis …\Panda3D-1.10.0\include\weakPointerToVoid.h 28
Error (active) E2422 defaulted default constructor cannot be constexpr because the corresponding implicitly declared default constructor would not be constexpr Panda and Noesis …\Panda3D-1.10.0\include\frameBufferProperties.h 148
Error (active) E2422 defaulted default constructor cannot be constexpr because the corresponding implicitly declared default constructor would not be constexpr Panda and Noesis …\Panda3D-1.10.0\include\pointerToVoid.h 35