I'm not sure I'm convinced yet, but it turned out to be fairly straightforward to hook up libRocket with Allegro 5. Sample program attached.
{"name":"603293","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/6\/9\/6992930de0fdc0747961b3878293a330.png","w":640,"h":480,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/6\/9\/6992930de0fdc0747961b3878293a330"}
Thats cool. Does libRocket work best with programs that use opengl?
I haven't looked at the rocket documentation much, but can you explain what RenderGeometry is doing in your example program? What are those vertices?
It should work with D3D just fine. I didn't test.
Rocket sends the things it wants to draw, and RenderGeometry is responsible for getting that onto the screen.
I wonder how it works within a real game... is it fast enough? Can you have elements randomly dispersed on the screen? Etc.