Thread: [Glgui-dev] abstract rendering & more
Status: Alpha
Brought to you by:
druid-
From: sfranke <sf...@us...> - 2000-06-12 19:08:43
|
The rendering is now abstracted. I wrote a generic opengl renderer that interfaces to an already setup and initialized rendering context (must keep it platform independent). To further that goal, all the code in CVS is platform independent except for a single #ifdef WIN32 include (does that count?). I also added a multi-state buttons for checkboxes and whatever else. I am now working on tackling the whole resource registry problem, and then will work on importing prebuilt UIs (still undecided about the means and method). After that it's fonts and editable text boxes, and then integrating my glConsole. When all that is done, I'll probably make a release with a sample & code. Having the sample run on non-win32/opengl platforms would be nice (as would having a cooler sample). So if anyone is still interested in helping out, just mail the list. Scott Franke [druid-] sf...@gl... |
From: SiO2 S. <si...@ne...> - 2000-06-12 22:35:23
|
----- Original Message ----- From: "sfranke" <sf...@us...> To: <glg...@li...> Sent: Monday, June 12, 2000 8:05 PM Subject: [Glgui-dev] abstract rendering & more > The rendering is now abstracted. Excellent! > I wrote a generic opengl renderer that > interfaces to an already setup and initialized rendering context (must > keep it platform independent). To further that goal, all the code in CVS > is platform independent except for a single #ifdef WIN32 include (does > that count?). Don't worry about #ifdef's - they certainly don't compromise platform independancy (in fact you'll probably find it hard to get by without them). > I also added a multi-state buttons for checkboxes and whatever else. > > I am now working on tackling the whole resource registry problem, and then > will work on importing prebuilt UIs (still undecided about the means and > method). Very nice, but please don't compromise speed. Us people who are going to use the UI will want to use it for our in-game HUD's too! ;-) > After that it's fonts and editable text boxes, and then integrating my > glConsole. > > When all that is done, I'll probably make a release with a sample & > code. Having the sample run on non-win32/opengl platforms would be nice > (as would having a cooler sample). So if anyone is still interested in > helping out, just mail the list. Soon as I get some free time I'll do the Direct3D port (piece of cake!) Regards, Keith Harrison SiO2 Software. ke...@ne... (personal) si...@ne... (work) |
From: sfranke <sf...@us...> - 2000-06-13 14:48:14
|
On Mon, 12 Jun 2000, SiO2 Software wrote: [resource registry] > Very nice, but please don't compromise speed. Us people who are going to use > the UI will want to use it for our in-game HUD's too! ;-) Right now I'm just looking at using it to handle shaders, fonts, cursors, coordinate systems and borders. So that it's easy to say, use the "blue" shader. This will make it easier to define all the shaders in a file somewhere and reference them. I think I'll leave the actual frame/widget/etc creation as it is. Of course it will be much smoother in a file loader, but I couldn't come up with a good alternative. We can always work on it later if it's too much of a problem. > Soon as I get some free time I'll do the Direct3D port (piece of cake!) Did you take a look at the opengl implementation? There's not much to it. I'm thinking about doing a more optimized version later (with display lists and compiled vertex arrays), and then maybe one that created beveled 3d buttons just for fun. [relevance of the project's name] Yeah, I've noticed that as well. Unfortunately, there's no way to change the sourceforge project name (to my knowledge), so that will have to remain. I've started calling it GameGUI in the class docs, but it's still open. I guess we could come up with a snappier name if anyone has any ideas. Scott Franke [druid-] sf...@gl... |
From: SiO2 S. <si...@ne...> - 2000-06-14 17:48:33
|
----- Original Message ----- From: "sfranke" <sf...@us...> To: <glg...@li...> Sent: Tuesday, June 13, 2000 3:44 PM Subject: Re: [Glgui-dev] abstract rendering & more > On Mon, 12 Jun 2000, SiO2 Software wrote: > [resource registry] > > Very nice, but please don't compromise speed. Us people who are going to use > > the UI will want to use it for our in-game HUD's too! ;-) > > Right now I'm just looking at using it to handle shaders, fonts, cursors, > coordinate systems and borders. So that it's easy to say, use the > "blue" shader. This will make it easier to define all the shaders in a > file somewhere and reference them. Adding functionality if OK. What I was getting at was that developers don't want the GUI to suck more CPU than neccessary. > I think I'll leave the actual frame/widget/etc creation as it is. Of > course it will be much smoother in a file loader, but I couldn't come up > with a good alternative. We can always work on it later if it's too much > of a problem. Make sure you don't forget about "LoadFromMemory()" style functionality. For example, I may have some data in my own file format (e.g. a Quake3 pk3 - AKA zip - file), so I would want to load the data into memory myself and pass the data to the GUI handler as a pointer. > > Soon as I get some free time I'll do the Direct3D port (piece of cake!) > > Did you take a look at the opengl implementation? There's not much to > it. I'm thinking about doing a more optimized version later (with display > lists and compiled vertex arrays), and then maybe one that created beveled > 3d buttons just for fun. I haven't looked at it yet. Have you put together another zip distribution yet? Regards, Keith Harrison SiO2 Software. ke...@ne... (personal) si...@ne... (work) |
From: sfranke <sf...@us...> - 2000-06-14 20:38:56
|
A quick note: I added viewable area to coordinate systems. This allows you to have a frame that is a window to a larger area. Fairly basic concept, but it took a considerable amount of rework on some of the class relationships. I also found a few big bugs. It's all working now, but I just have a simple demo, so there could still be problems. I'm using OpenGL's scissor function to restrict rendering. It requires some extra work to keep track of screen and local coordinates, but it's the best solution I could come up with. It only scissors frames that need it, so other frames are free (but should be expected not) to render outside of their [0,1] area. Now I'm going to write a textbox class for cleaner, more readable, multiline text chunks (non button/titles). and now to the reply: On Wed, 14 Jun 2000, SiO2 Software wrote: > Adding functionality if OK. What I was getting at was that developers don't > want the GUI to suck more CPU than neccessary. Hmm.. I'd have to test it in a real app before I could say for certain. Obviously the most complicated part is rendering (which I'm planning on optimizing at some point), but I think the core UI code is fairly efficient. There are parts that could probably be redone later to get more speed out of it. > Make sure you don't forget about "LoadFromMemory()" style functionality. For > example, I may have some data in my own file format (e.g. a Quake3 pk3 - AKA > zip - file), so I would want to load the data into memory myself and pass > the data to the GUI handler as a pointer. Yup. Might be another day before I get to that. Do you have any ideas for a format? I was thinking a nice simple ascii format like quake3's shaders would be nice, especially until we have a resource editor. [sample implementation] > I haven't looked at it yet. Have you put together another zip distribution > yet? No, I would have to make a release everyday to keep up with all the stuff I'm adding. I'm trying to aim at a fairly complete functionality level before I make a full release. That will include multi-platform demos and better documentation. Or maybe I could release another little sample just for win32 with what's in CVS this weekend. Scott Franke [druid-] sf...@gl... |
From: SiO2 S. <si...@ne...> - 2000-06-15 17:19:07
|
----- Original Message ----- From: "sfranke" <sf...@us...> To: <glg...@li...> Sent: Wednesday, June 14, 2000 9:35 PM Subject: Re: [Glgui-dev] abstract rendering & more > > Make sure you don't forget about "LoadFromMemory()" style functionality. For > > example, I may have some data in my own file format (e.g. a Quake3 pk3 - AKA > > zip - file), so I would want to load the data into memory myself and pass > > the data to the GUI handler as a pointer. > > Yup. Might be another day before I get to that. Do you have any ideas > for a format? I was thinking a nice simple ascii format like quake3's > shaders would be nice, especially until we have a resource editor. Ascii, ascii, ascii. ;-) > [sample implementation] > > I haven't looked at it yet. Have you put together another zip distribution > > yet? > > No, I would have to make a release everyday to keep up with all the stuff > I'm adding. I'm trying to aim at a fairly complete functionality level > before I make a full release. That will include multi-platform demos and > better documentation. Or maybe I could release another little sample just > for win32 with what's in CVS this weekend. Most projects that I have seen produce weekly zip distributions. If you could manage that then it would be nice. :) I still haven't installed WinCVS yet... Regards, Keith Harrison SiO2 Software. ke...@ne... (personal) si...@ne... (work) |
From: sfranke <sf...@us...> - 2000-06-15 18:37:55
|
On Thu, 15 Jun 2000, SiO2 Software wrote: > > Yup. Might be another day before I get to that. Do you have any ideas > > for a format? I was thinking a nice simple ascii format like quake3's > > shaders would be nice, especially until we have a resource editor. > Ascii, ascii, ascii. ;-) Heh. Yup, it should do fine for now. [zip distributions] > Most projects that I have seen produce weekly zip distributions. If you > could manage that then it would be nice. :) I still haven't installed WinCVS > yet... I just use the command line utilities. I tried a few months ago, but couldn't get wincvs working very well. I just do simple commands (checkout & commit), so it's no bother using the command line versions. Anyway, OK, I'll start releasing a weekly zip (or less if I don't add any significant features during a week). The first release will be tomorrow with everything in CVS, a VC6 project, a win32 binary w/ sample gfx, and the class documentation (mirroring what's on the glgui.sourceforge.net page). I'll probably get key interface (for switching around the active widgets), and an editable textbox by then as well. Scott Franke [druid-] sf...@gl... |