I know it's been talked about....

Started by gdboling, February 04, 2004, 14:35:01

Previous topic - Next topic

gdboling

Forgive the newbie question here.  From searching this forum I realize that LWJGL is a complete replacement for AWT.  But I find that statement to be a bit untrue.  There really should be some sort of widget API for things like Buttons, Checkboxes, etc.  I guess the consensus is that these widgets can be created using OpenGL.  And I know that there is some API called SPGL??  Does this API solve this problem for me?

Does anyone have any tutorials on creating widgets for various controls in OpenGl?

Thanks

Gregg

vilm

Quote from: "gdboling"From searching this forum I realize that LWJGL is a complete replacement for AWT.  

I don't think it is... it's a java interface to OpenGL - AWT is an Abstract Windowing Toolkit.  They provide completely different things.
 That's not to sayyou could implement a windowing toolkit in OpenGL.. but AFAIK that's not what LWJGL is trying to do.
 I think there may be some libs written by puppygames that provide GUI functionality on OpenGL...

- vilm

gdboling

Quote from: "vilm"
Quote from: "gdboling"From searching this forum I realize that LWJGL is a complete replacement for AWT.  

I don't think it is...
- vilm

Quote from: "princec"LWJGL is a complete replacement for AWT.

Accorinding to this thread, one might assume LWJGL to be. :)

riflemon

I'm coding widgets so that they run with lwjgl. Yer interested? Which widgets do you need?
oding from always warm, always sunny Rosario, Argentina :D

Optus

Ok, this definitely qualifies as splitting hairs.  I think what cas meant is that, AWT and LWJGL are mutually exclusive. If you're using one, there is no way to use the other effectively.  (Although, I've done some interesting things with creating JWindows to output debug data in real-time.)  And yes, if the LWJGL team wanted to incorporate a GUI/event system, then they could; thus bloating the libs with something not everyone needs.  I'm sure it says multiple times on this site and in the documentation that LWJGL is only a bare bones binding of OpenGL with a focus on gaming.  This places that widget library far out of the scope of the project.

gdboling

Quote from: "riflemon"I'm coding widgets so that they run with lwjgl. Yer interested? Which widgets do you need?

I would rather learn how to do it myself.  But if you want to send me some src code so I can see that would be great.

riflemon

QuoteOk, this definitely qualifies as splitting hairs.

Bad hair day? Don't blame me... ;)
QuoteI think what cas meant is that, AWT and LWJGL are mutually exclusive. If you're using one, there is no way to use the other effectively. (Although, I've done some interesting things with creating JWindows to output debug data in real-time.) And yes, if the LWJGL team wanted to incorporate a GUI/event system, then they could; thus bloating the libs with something not everyone needs. I'm sure it says multiple times on this site and in the documentation that LWJGL is only a bare bones binding of OpenGL with a focus on gaming. This places that widget library far out of the scope of the project.

Look, first, I'm quite sure LWJGL and AWT can be run together. I'm doing it. I have a widget toolkit (which I started coding a week ago, so I don't pretend it's solid) that works *like* AWT in terms of coding against it (supports events/listeners, etc.). The difficulties in integrating both AWT and LWJGL rely on:

a) Exclusive Mouse access by LWJGL
b) Non-shared rendering context; can be bypassed by rendering the AWT to a texture... it ain't nice, but works
c) The AWT Event Thread/Queue.

So it's quite possible to have something using both. I'm in fact using JFileChoosers in my app to load models.

Next, LWJGL doesn't and probably won't expose a Window Toolkit. We're not talking about/against that, but we're interested in doing it ourselves. Since they will run on top of LWJGL, it's fair to discuss it on the LWJGL forum, wouldn't you say? SPGL is in constant flux, and worse, it's on a CVS that responds basically whenever it feels like; and there's no released tarballs of the source(Scourging thru the forum I got a link to a unmarked(ie no version number) binary of it).

The code I have is very raw, I want to polish/refactor it... and see if I get some more widgets in. Then I'll release separate. I'm just looking for some quick feedback on ideas of what people here might need/want or anything they think it's important to bear in mind when planning one of these.
oding from always warm, always sunny Rosario, Argentina :D

Uli

Seems like quite a lot of people (me included) are working on the same thing, a widget-API on top of lwjgl for in game menues and such. I think it would be nice to have a customizeable API everyone could use, so no one has to reinvent the wheel. Cas was talking about a "new" SPGL a while ago, but seems to have stopped working on it. SPGL as is comes quite close to what most people need, bur needs some improvement I think. Most of all it should be more customizeable. Other things that most people need are classes for resource loading(textures, sounds, fonts, ...) and a sprite/animation API. And some tools for creating the (xml) resource files.

Matzon

FWIW, I really think that joining hands/heads on this would be a good thing... I've noticed a lot of posts regarding this particular topic!

but you guys might also want to take a look at the gui stuff done in the jME engine:
http://www.mojomonkeycoding.com/

princec

If someone came up with an Eclipse plugin to handle game resources and such that'd be cool.

Cas :)

fbi

I know it's part of my fault as indeed I am developing something like that...but during these days I spent a lot of time in filling out forms for my laboratory projects agreements  :cry:
Anyway as I told ya I created a SWT Canvas to handle GL rendering (on Windows it just works but I should find a few free moments to finish and test the Linux one).
Moreover one of the projects I'll beinvolved into is about the creation of an educational game in Java, using LWJGL as an OpenGL binding and my own 3D engine (in development) Jupiter.
The nice thing about it is that we're going to do that with the local IBM centre, so that bulding Eclipse plugins to manage game data and all that will be a *MUST*.
The unique problem is what will be open-sourced and what will be not...
Jupiter for sure will be...I'll fight for the rest  :D
Any comments about it are welcome...

Optus

I don't know if you're on the NOLF team, but if not you may have a problem with the name of your engine.  The engine used in the No One LIves Forever series, is called the Jupiter engine.  see here: http://pc.ign.com/articles/360/360119p1.html

fbi

Thank you very much for the information but that's not that much of a problem since it's just a prototype name.
When it will be out I'll probably change its name (and check carefully for conflicts this time)  :D