GLui

Community Forums/Showcase/GLui

Chris C(Posted 2005) [#1]
editable text spinner and check box controls Done!

backbone of c interface done, just have to write
calls for control creation etc for missing controls


Calls to glutSphere & torus solid and wireframed Done!

Multiple windows. Working!

point spinners etc at a variable to automatically
update them

callbacks for main render loop
keyboard (upper and lower case!) and mouse

What features do people think are most important

Working hard to get the first release out!






dynaman(Posted 2005) [#2]
Looks interesting, is it a gui or a 3D system? (from the text it sounds like both - which is neat too)


Bot Builder(Posted 2005) [#3]
Nice job!

dynaman, I think its a lib for win32 native gui. Not so sure though, as it could be a really accurate emulation of win-98 style gui. As far as the 3d stuff, thats GLUT, a 3rd party dll for beginning opengl programming.


N(Posted 2005) [#4]
If I'm not mistaken, it's a GLUI wrapper.

http://www.cs.unc.edu/~rademach/glui/

In other words, it's almost guaranteed to be ugly.


Chris C(Posted 2005) [#5]
@cower thanks.......
Graphics can always be redrawn


The idea is a lightweight set of
simple gui objects for RAPID prototyping

As a bonus theres access to some of the useful GLUT
drawing routines

You have full access to opengl

as its based on glut I should be able to make a linux
port afterwards...

I dont own a mac (yet!) so its likley to
be restricted to those 2 platforms


N(Posted 2005) [#6]
No problem.

*does a little dance*

Out of curiosity, why did you decide to wrap GLUI instead of some other more intuitive UI (and better looking), such as glgooey?

I don't see native windows controls as being that attractive a feature since then your application is not unique graphically.


Chris C(Posted 2005) [#7]
most UI are *bloated* and over complex,
GLUI is compact and uses a very intuitive automatic flow
layout system

I really dont want to spend ages piddling round trying to
get all those x,y co-ords of all my gadgets just so...

1 or 2 lines of code, job done.

its designed for fast prototying, i.e. I wonder what happens
if I change so and so gl param... now what happens when i move this slider...

I'll worry about functionality of the wrapper b4 how it looks any day.

do you really think the arcball really looks *that* bad?

"ugly" looking opengl 3d arcballs for rotating things in 2 axes



N(Posted 2005) [#8]
Honestly, the arcball is the only thing I think GLUI has going for it.

Compare GLUI to my GUI, for example. My GUI is cross platform (it doesn't use anything platform dependent, anyway- if BlitzMax refuses to compile it on other platforms then that's its fault), completely skinnable, would have had every gadget known to man had I not decided to move to C++. Anyhow, my point is that there are a lot of GUIs out there that would really hold their own against GLUI.

I'm not attacking you or insulting your work, just pointing out that GLUI is really not that good looking. And with its automatic layout system, it doesn't help much for creating a custom UI (e.g., putting stuff where you want it instead of hoping GLUI puts it in the right spot).

For example, you could use GTK+, which is very nice by the way. Or you could also use Qt, but... eh.. its license is downright horrible.

So don't take this the wrong way, I just wanted to point out that everything is going to look dated (Win98-dated, I'd say) through GLUI. Given the option, I'd use Whidbey for everything, but since that isn't 'out' yet (it can be used in VS 2005, but since I don't use that it's more hassle than it's worth) I'm sticking with my own hand-written GUIs.


Chris C(Posted 2005) [#9]
http://www.traklink.com/component/option,com_docman/task,view_category/Itemid,26/subcat,8/catid,69/limitstart,0/limit,5/
very limited, very early version.

@cower sigh, your missing the whole point, what it looks
like and exactly where the buttons end up

Who cares....

1 or 2 lines of code, job done.




innerspace(Posted 2005) [#10]
Noel: we've had disagreements in the past, this is another. :) my personal taste is GUI's should be hooked to the OS there running on, not connected and dependant on your own drawing of all the gadgets etc. while these where very nice and they have there place just as anything does, it isn't by far the most aproperate course of action when it comes to GUI's, (BGUI, XLnt, etc.. all due respect) but, the best way (at least in mho) is OS Gui's why re-re-re-re-reinvent a wheel?


Bot Builder(Posted 2005) [#11]
I get this when running test.bmx:
[ERROR]: c:\blitzmaxbeta101\bin\ld:c:\blitzmaxbeta101\tmp\ld.tmp: file format not recognized; treating as linker script
[ERROR]: c:\blitzmaxbeta101\bin\ld:c:\blitzmaxbeta101\tmp\ld.tmp:1: parse error
Yes, I have MingW.


Chris C(Posted 2005) [#12]
http://www.traklink.com/component/option,com_docman/task,view_category/Itemid,26/subcat,8/catid,69/limitstart,0/limit,5/
here's the linux version


converting to linux consisted of recompiling the C
stuff and changing some imports in the bmx

Future releases will be dual platform...

@bot - no Idea m8 with max closed try deleting the tmp
directory?

Nothing in the project refers to tmp
did u extract ALL the files?
do the imports point to the right place?
good luck!


Bot Builder(Posted 2005) [#13]
Contents of file: (all one line)

INPUT( c:/blitzmaxbeta101/lib/crtbegin.o c:/blitzmaxbeta101/lib/crt2.o c:/blitzmaxbeta101/mod/brl.mod/appstub.mod/appstub.a "c:/downloads 2.0/gluitest/test/.bmx/test.bmx.o" c:/blitzmaxbeta101/mod/scouse.mod/glsl.mod/glsl.a c:/blitzmaxbeta101/mod/pub.mod/win32.mod/win32.a c:/blitzmaxbeta101/mod/pub.mod/glew.mod/glew.a c:/blitzmaxbeta101/mod/pub.mod/freejoy.mod/freejoy.a c:/blitzmaxbeta101/mod/pub.mod/expatxml.mod/expatxml.a c:/blitzmaxbeta101/mod/cower.mod/xml.mod/xml.a c:/blitzmaxbeta101/mod/brl.mod/wavloader.mod/wavloader.a c:/blitzmaxbeta101/mod/brl.mod/tgaloader.mod/tgaloader.a c:/blitzmaxbeta101/mod/brl.mod/retro.mod/retro.a c:/blitzmaxbeta101/mod/brl.mod/pngloader.mod/pngloader.a c:/blitzmaxbeta101/mod/pub.mod/libpng.mod/libpng.a c:/blitzmaxbeta101/mod/pub.mod/zlib.mod/zlib.a c:/blitzmaxbeta101/mod/brl.mod/oggloader.mod/oggloader.a c:/blitzmaxbeta101/mod/pub.mod/oggvorbis.mod/oggvorbis.a c:/blitzmaxbeta101/mod/brl.mod/map.mod/map.a c:/blitzmaxbeta101/mod/brl.mod/jpgloader.mod/jpgloader.a c:/blitzmaxbeta101/mod/pub.mod/libjpeg.mod/libjpeg.a c:/blitzmaxbeta101/mod/brl.mod/glmax2d.mod/glmax2d.a c:/blitzmaxbeta101/mod/brl.mod/max2d.mod/max2d.a c:/blitzmaxbeta101/mod/brl.mod/system.mod/system.a c:/blitzmaxbeta101/mod/brl.mod/keycodes.mod/keycodes.a c:/blitzmaxbeta101/mod/brl.mod/freetypefont.mod/freetypefont.a c:/blitzmaxbeta101/mod/pub.mod/freetype.mod/freetype.a c:/blitzmaxbeta101/mod/brl.mod/freeaudioaudio.mod/freeaudioaudio.a c:/blitzmaxbeta101/mod/pub.mod/freeaudio.mod/freeaudio.a c:/blitzmaxbeta101/mod/brl.mod/font.mod/font.a c:/blitzmaxbeta101/mod/brl.mod/bmploader.mod/bmploader.a c:/blitzmaxbeta101/mod/brl.mod/blitzgl.mod/blitzgl.a c:/blitzmaxbeta101/mod/brl.mod/pixmap.mod/pixmap.a c:/blitzmaxbeta101/mod/pub.mod/opengl.mod/opengl.a c:/blitzmaxbeta101/mod/brl.mod/basic.mod/basic.a c:/blitzmaxbeta101/mod/brl.mod/filesystem.mod/filesystem.a c:/blitzmaxbeta101/mod/brl.mod/linkedlist.mod/linkedlist.a c:/blitzmaxbeta101/mod/brl.mod/httpstream.mod/httpstream.a c:/blitzmaxbeta101/mod/brl.mod/socketstream.mod/socketstream.a c:/blitzmaxbeta101/mod/brl.mod/endianstream.mod/endianstream.a c:/blitzmaxbeta101/mod/brl.mod/ramstream.mod/ramstream.a c:/blitzmaxbeta101/mod/brl.mod/random.mod/random.a c:/blitzmaxbeta101/mod/brl.mod/math.mod/math.a c:/blitzmaxbeta101/mod/brl.mod/bankstream.mod/bankstream.a c:/blitzmaxbeta101/mod/brl.mod/bank.mod/bank.a c:/blitzmaxbeta101/mod/brl.mod/audio.mod/audio.a c:/blitzmaxbeta101/mod/brl.mod/audiosample.mod/audiosample.a c:/blitzmaxbeta101/mod/bot.mod/p5.mod/p5.a c:/blitzmaxbeta101/mod/bot.mod/firstmodule.mod/firstmodule.a c:/blitzmaxbeta101/mod/brl.mod/standardio.mod/standardio.a c:/blitzmaxbeta101/mod/brl.mod/stream.mod/stream.a c:/blitzmaxbeta101/mod/pub.mod/stdc.mod/stdc.a c:/blitzmaxbeta101/mod/brl.mod/blitz.mod/blitz.a C:/BLITZM~1/mod/bot.mod/p5.mod/libp5.a -lglu32 -lopengl32 -lcomdlg32 ""c:/downloads 2.0/gluitest/test/libglui.a"" ""c:/downloads 2.0/gluitest/test/opengl32.lib"" ""c:/downloads 2.0/gluitest/test/glut32.lib"" -lglu32 -lgdi32 -lwsock32 -lwinmm -lstdc++ -lmingwex -lmingw32 -lgcc -lmoldname -lmsvcrt -luser32 -lkernel32 c:/blitzmaxbeta101/lib/crtend.o)

Deleting tmp dir makes any compile crash, because it has to be there, so i just made a blank one. Same error.

do the imports point to the right place?
Since they are local, perhaps they do, but whats the "./" on them for?


dynaman(Posted 2005) [#14]
Darn you Chris! I was supposed to be working on my hexmap program, now I'm going to go home and try out your gui instead... :)


Chris C(Posted 2005) [#15]
@dynaman
kool! (sorry)

@bot b
Not sure what file you're talking about, is this the compiler output?

Things to check are compiler ENVIROMENT paths
do you have other gcc based dev enviroments
installed?

Is it saying unresolved or missing anything (like a
function name)


skidracer(Posted 2005) [#16]
Bot Builder, have you tried moving the test code somewhere without a space in the path?


teamonkey(Posted 2005) [#17]
Nice work. Looking good.


Chris C(Posted 2005) [#18]
@skid duh! well spotted!

what do people think more important multiple native windows
for seperate opengl render views

or

more controls


Jeroen(Posted 2005) [#19]
looks awesome Chris C!


Brucey(Posted 2005) [#20]
Future releases will be dual platform...


Dual as in, 2 out of 3 ?

:-(


N(Posted 2005) [#21]
Brucey:

I dont own a mac (yet!) so its likley to
be restricted to those 2 platforms


He can't do anything about it at the time.


skidracer(Posted 2005) [#22]
besides publishing the source that is...

and being a wrapper for the library rather than a standalone project I think means that distribution of the source is required by the LGPL


Chris C(Posted 2005) [#23]
glui as a dll (edit) or .a
+ my wrapper as a .a

or

whole thing as a .a

I havent decided yet and both have very different licensing
issues...

All you've had so far is a quick proof of concept partially
working demo...


Chris C(Posted 2005) [#24]
another day, another update
Got side tracked with multiple *native* 3d windows
its do-able but I'll have to plan well, did get
any feedback about this feature (or any other)
so I prbly wont bother

Linux demo on request

another "ugly" screen shot for you...



taxlerendiosk(Posted 2005) [#25]
It doesn't look ugly at all. Very nice work, I'd use it.


Chris C(Posted 2005) [#26]
thank denzilquixode!
any features you'd like to see?


dynaman(Posted 2005) [#27]
I gave it a try and it worked and looked just fine.


Chris C(Posted 2005) [#28]
thats great really glad you like it!

any features you'd like to see

I'm currently working to remove all the C++ "glue"
between max and the glui lib....


Bot Builder(Posted 2005) [#29]
Lol. It was the space problem.... beaver dam, BRL, put your paths inside quotes!!!

anyway, looks to be a nice quick way to bash out ideas for a program. Will need a proper GUI/3d system later tho


bradford6(Posted 2005) [#30]
This is very nice. I like the "Function over Form" approach. When designing a level editor, model viewer, etc, simplicity counts!


Chris C(Posted 2005) [#31]
good god someone gets it!!

its all i need just at the moment

TODO list

figure out some way of calling C methods to get rid
of C wrapper and do it all in max
in c: x->blah
I have x but how do I find blah


debug text "live" var (and read text) bug


Anything else or more controls, ask and I'll have a look
at it