Compz - GUI System

No. The system was made to be simple and not complicated. So no windows, because it isn’t a window manager, just a GUI syystem for games :stuck_out_tongue:

But I hope that those dialogs will be draggable. Please, make them draggable, please! :slight_smile:

I said no, i’m sorry but I said: “The system was made to be simple and not complicated.”

You could still set the elements to be relative to the dialog and have specific position for dialog that can be updated real-time.

I tried making a menu with compz last night and found something you might want to add.

panel.position = [50, 50]

from what I can see the position is defined in pixels, it would be great if you could make it something like:

panel.position = [50, 50, '%']

or

panel.position = [50, 50, 'px']

So the default would be pixels but there would be an option to use percentages.

Also I get this error:


@adriansnetlis: The project is public on github (i.e. it’s opensource), if you really want those features, just add them yourself lol

New component: List
http://image.prntscr.com/image/9850aa8337a04c489be47a2ed588f4b9.png

Looks good. Nice that you work on a gui again.:slight_smile:

@ TwisterGE. I found some VBO stuff in your code. But actually you can’t use VAO, VBO, FBO with the bgl wrapper. Because the last attribute for glVertexPointer, glVertexAttribPointer or glDrawElements requires a bgl.Buffer (bad wrapper design) which is actually a pointer. So this functions always think you will sent a list to it. But if you use a VBO you have to pass zero void pointer (None, 0, or ctypes.c_void_p(0)) to it.

Actually your code only load the VBO data into the graphic card and don’t use it. So basically you can comment out all VBO related code for now.

HG1

I noticed that. Too bad…
I can’t pass None, because it expects me to pass a Buffer. Damn it! :expressionless:
I wanted to use glMapBuffer but the implementation is wrong… It should return a pointer but it only returns void.

what about using a plane with logic on it, and using its origin as the location to base where to render the panel?

then moving the plane would move the ui panel?

maybe pass changes to the gui script?
(without having to edit the project source?)

The UI uses a 2D projection (1 unit = 1 pixel). I don’t know how to project the plane coordinates into screen coordinates.
And that would start to bring in hacks (the plane would have to be loaded with properties to detect what component it represents), and I utterly don’t want that.

Probably the best solution for easy GUI is JSON.

I do it all the time, getScreenPosition() and getScreenHeight() etc are very handy.

I will try and rig up a python example that does not touch your sources.

I just pushed a new BIG update to the Git master. I will update the docs page soon!

The new theme:
http://i.imgur.com/fRnQsjO.png

So the next planned feature is to add JSON support (to ease the UI creation process). What do you guys think of this?

Awesome. And works in upbge now.

Ah cool, I haven’t noticed that there was an update .
But it looks like that the docs are not available.

tu peux nous offrir le fichier .blend stp?

@Py3D: hi, TwisterGE demo file is in his git repo: https://github.com/DCubix/Compz (clone or download -> download zip -> extract)

Wow how efficient is this System does it not take up performance?
Is this only for UPBGE?

Fred/K.S