librocket GUI support


#1

librocket is a Game GUI engine that used to be commercial. Recently it has been open sourced as MIT. It uses a subset of html and css for all the rendering. The GUI input elements are html form elements. Since I like this much better than CEGUI I’ve integrated it for C++ by implementing a native librocket renderer interface. Initialization is simply like this (as per drwr’s idea):

PT(RocketNode) rocket_node = new RocketNode("rocket"); 
window->get_pixel_2d().attach_new_node(rocket_node); 

Then you can get the librocket context from rocket_node->get_context() and use that to interact with librocket.

This is the librocket hello world window in Panda:

I’ll commit this shortly to the Panda 2.0 branch (C++ only), I’m creating this thread for questions in case anybody is interested in publishing it to python (treeform?) which is really easy at this point (just write a bunch of wrappers), but I don’t use python so I cba.


#2

I dont think its right to include with the newer version without python wrappers. The engine is meant to have complete python integration. And isnt the next version 1.8?


#3

I think Gogg means that panda 2.0 is C++ only at the moment… 1.8 would be the next version officially by Disney, I think there was a fork by rdb/Gogg I suppose to rewrite the engine from scratch (from what I heard) and I suppose they will add python to panda 2.0 later… dunno how all of that will work out tbh.

I may be wrong though, just my thoughts.

~powerpup118


#4

P2.0 is an unstable branch, nobody is including anything in any version. Things are easier to integrate in C++, cause they operate in C++ under the hood anyway, so everything starts in C++, then it’s published in python. You may be used to things being announced only when they work in Python because Disney uses python, it just so happen that I don’t, so I can stop at C++, but don’t worry, somebody will get this working in Python. The 2.0 branch is years away from being released anyway, and nobody is gonna release a Panda version without python support, I don’t know where you got that idea. We are talking of development branches here.

And nobody is forking anything, it’s just that the unstable and new stuff is added to this branch, like many things rdb and others are working on


#5

ah; thank you tons for clearing all that up! :smiley:


#6

Really nice initiative Gogg :slight_smile:
I was though hoping this to be included already in version 1.8 :wink:


#7

I’d like to use HTML GUI in the current or coming panda version. Having failed to find your commits in the CVS, I wonder where I can find your code and possibly offer help in making librocket generally available and usable.

Are you still actively developing on this particular piece?

Has anyone else already made experience with building/using it?

edit: I should add I’m working with Python.


#8

I am also very interested in this?
Any chance to get it in “current” panda? If that could be done i would try to get python wrappers done.
I know c/c++ but not using it actively for quite some time now (except when i am forced at uni).


#9

This looks very promising. It also looks like libRocket has built-in python support (librocket.com/wiki/frontend/features), so I’m curious what’s missing in this panda implementation?


#10

Is there any update as to the status of bringing this in to, say, 1.8, with the Python bindings that it already includes?


#11

Hm, i would be interested in librocket bindings for python too. Is there any news on this topic?


#12

Admittedly, I haven’t started playing with libRocket yet, so I don’t know how well their built in python bindings work, but I have plans to do almost the exact same thing I did with the PandaCEGUI python module for this. (I’ll post back with a forum post link as soon as I get somewhere.)

However, I strongly argue this being moved into the 1.8 branch. I’m more than willing to devote some time from myself and my little team towards getting panda python bindings written as well.

–Chris


#13

Hey, if you and your team are able to polish this up for 1.8 and provide a good set of bindings, it would be so very awesome!

David


#14

I too would enjoy this being in the 1.8 branch, perhaps someone could ask Gogg for any reference code he has? that would probably be a decent start

That’s only one idea though, more power to you guys!

~powerpup118


#15

The librocket integration is on the panda3d_2_0_branch, if you make a separate checkout, you can easily extract the relevant code.


#16

thank you! I was very much so unaware of this!


#17

Hi again,

I’m no particular CVS guru, just curious if this is right:

my CVS client is running this command to get the panda3d_2_0_branch CVS branch

:pserver:anonymous@panda3d.cvs.sourceforge.net:2401/cvsroot/panda3d checkout -r panda3d_2_0_branch -P panda3d

I did a quick search using the gnome search utility, and there are no traces of ‘rocket’ inside any of the files that it downloaded…

perhaps you could inform how to use CVS better? orr where exactly the relevant folder for librocket is?

I would appreciate it a lot!

Thank you,
~powerpup118


#18

Huh… sorry, I thought that Gogg had committed his code. It would seem that he didn’t.


#19

Oh okay, thank you for the response! :smiley:

~powerpup118


#20

Any news on this topic?