[quote=“Canardian”]I tried libRocket with another engine some years ago, and it was quite horrible, because it was bloated and sluggish, and it wanted to use its own rendering engine, which conflicted with the real rendering engine.
Urho3D’s XML GUI is much cleaner and more powerful than some combination of unstructured HTML+CSS spaghetti.
I would rather focus on improving Urho3D’s GUI editor, than messing around with some random HTML+CSS editors.[/quote]
What do you mean by its rendering engine, it has no rendering engine when I have used it, you fulfill its callback interfaces to make meshes for it when it needs them or to give it empty textures to draw on, you have to do all of that for it. As well as I found it to be decently fast (certainly faster than CEGUI, though it might be slower Urho3D’s current system by some amount but I am not sure and have not tested). And the HTML/CSS is certainly not unstructured, you make parts as ‘templates’ and link them together, it very much is very structured. Can you elaborate on any of that? Do you have examples showing the issues?
[quote=“cadaver”]It could be accepted as a pull request for an alternate GUI with the following conditions:
- To build & include LibRocket would be switchable on/off from CMake
- The original UI subsystem stays functional
- LibRocket resource loading ties properly into the Urho3D resource system
- LibRocket element events are tied/wrapped into Urho3D events (if this is impossible, can be skipped, but there nevertheless needs to be a mechanism to access the events from C++ and scripting)
- There is a solid base for exposing the LibRocket elements to both scripting languages, with correct memory management. Not every subclass needs to be exposed yet, but there should be indication that with the basics done, it’s just mechanical / trivial work to do the rest
- You would become the maintainer for LibRocket integration from that point on and improve the bindings even after the initial pull request[/quote]
libRocket abstracts out about everything, including its file access, it would be pretty trivial to link in the resource system. libRocket is also event based, would be easy to wrap it to pass on to Urho3D events.
Mostly I am curious about Canardian’s issues, I did not experience any of that, sounds like something else than what I have used so do you have examples or anything that demonstrates any of that?