GLUT Celestia for Windows.

The place to discuss creating, porting and modifying Celestia's source code.
Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 1 month
Location: Pordenone/Italy

Post #21by Paolo » 19.12.2003, 22:51

chris wrote:I'm just wondering: why did you decide to invent the new format?

Mmmmmhhhh. This is a hard question. :?
There are many reasons.

First) When I've started study Celestia code I've started from celtxf lib.
So I was a dummy about C++ and OpenGL and I get in a lot of trouble. :oops:

Second) I found txf internal format excessively complicated. :? In order to achieve a small optimisation of texture space occupation, many parameters was introduced: maxAscent, maxDescent, xoff, yoff.
Also the solution of using a raw lookUpTable instead of a more elegant <map> does not conviced me. Perhaps has a little bit better performance, but it is to demonstrate it.

Third) I've searched on the web for a while and I was not able to find a TXF generator, nor a collection of txf files, nor other resources. :?

Fourth) Searching on the web and in OpenGL.org I found glfont2 by Brad Fish. :) It seemed me a better solution than TXF. But I found that also the GLF format and the relative generator program was suitable for many improvements. :?

Fifth) For my celui I was trying to implement a new texture font class with a lot of improvements against the Celestia TextureFont. Those improvements was inspired by Steve J.Baker'PUI texture font management.

Sixth) Last but not least to improve my programming skills it was a very funny exercise because it is only a small part of my celui project. BTW I'm going to publish a small example of my uiFont classes.

chris wrote:It seems like txf would suffice, and would be immediately compatible with Celestia.

Indeed to save the ADF in the TXF format should be a future improvement of the ADGLFont creator.
Also if I think that if you are interested perhaps it should be easier to replace the current Celestia text management classes in order to support ADF format.

Chris wrote:This is just a question, not criticism.

Hey :D I'm very glad that you was interested and that you've posted your opinions and questions. I hope to will be able to give some contribution in the future.

Bye - Paolo
Remember: Time always flows, it is the most precious thing that we have.
My Celestia - Celui

Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 1 month
Location: Pordenone/Italy

Post #22by Paolo » 21.12.2003, 21:11

marc wrote:Hi Paolo, good to hear progress is still going.

I couldnt run your program, you forgot to put the glut32.dll in with the executable.

I tried using the dll i have from glut version. 3.7, and i get the error "The procedure entry point __glutInitWithExit could not be located.....in glut32.dll"
The error is the same for the binary I got from the opengl website and a glut32.dll that I compiled from source.



Hi Marc.

After having finished the ADF stuff I've published another version of the CELUI draft. I've added the GLUT32.dll, and tested on some other PC.
So if you or someone else wants to have a look...download the CIO2 at

http://members.xoom.virgilio.it/pangeli ... 0tests.htm

BTW, all that widgets that are drawn on the screen in the CELUI test is contained in the celestia.ui file. And you are able to modify it with a normal text editor.

Bye - Paolo
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #23by t00fri » 21.12.2003, 22:27

Paolo wrote:
chris wrote:I'm just wondering: why did you decide to invent the new format?

Mmmmmhhhh. This is a hard question. :?
There are many reasons.

First) When I've started study Celestia code I've started from celtxf lib.
So I was a dummy about C++ and OpenGL and I get in a lot of trouble. :oops:

Second) I found txf internal format excessively complicated. :? In order to achieve a small optimisation of texture space occupation, many parameters was introduced: maxAscent, maxDescent, xoff, yoff.
Also the solution of using a raw lookUpTable instead of a more elegant <map> does not conviced me. Perhaps has a little bit better performance, but it is to demonstrate it.

Third) I've searched on the web for a while and I was not able to find a TXF generator, nor a collection of txf files, nor other resources. :?

Fourth) Searching on the web and in OpenGL.org I found glfont2 by Brad Fish. :) It seemed me a better solution than TXF. But I found that also the GLF format and the relative generator program was suitable for many improvements. :?

Fifth) For my celui I was trying to implement a new texture font class with a lot of improvements against the Celestia TextureFont. Those improvements was inspired by Steve J.Baker'PUI texture font management.

Sixth) Last but not least to improve my programming skills it was a very funny exercise because it is only a small part of my celui project. BTW I'm going to publish a small example of my uiFont classes.

chris wrote:It seems like txf would suffice, and would be immediately compatible with Celestia.

Indeed to save the ADF in the TXF format should be a future improvement of the ADGLFont creator.
Also if I think that if you are interested perhaps it should be easier to replace the current Celestia text management classes in order to support ADF format.

Chris wrote:This is just a question, not criticism.
Hey :D I'm very glad that you was interested and that you've posted your opinions and questions. I hope to will be able to give some contribution in the future.

Bye - Paolo


Paulo,

while I found none of your six anwers really convincing, can't you just twist your little font generator to produce TXF after all :lol:

Then it would be highly useful right away...

Bye Fridger

Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 1 month
Location: Pordenone/Italy

Post #24by Paolo » 22.12.2003, 19:15

Hi Fridger.

I'll ask to my brother Davide to include the TXF format support in the next version of his program.

I don't know if he will be able to do the work during these Christmas Holydays, but I hope so. :D

Bye - Paolo
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Post #25by don » 22.12.2003, 19:26

Howdy Paolo,

Please give your brother Davide a great big THANK YOU, from all of us here at the Celestia project <smile>!

Happy Holidays!

-Don G.

Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 1 month
Location: Pordenone/Italy

Post #26by Paolo » 23.12.2003, 19:03

Hi all.

I'm going to revise the CELUI source adding all the necessary comments.
I'm using the comment format required by Doxygen reference generator.
The system is quite simple, but the html results are amazing.

This is a training exercise to start commenting celestia code.

Within a pair of days I hope to be able to publish something with a new executable scratch demo.

Bye - Paolo.
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 1 month
Location: Pordenone/Italy

Post #27by Paolo » 11.01.2004, 21:09

Hi all

If somenone is interested my experimentations about the creation of a little celestia openGL UI are going on and the celui project is growing a lot.

Actually I've created the base package that is able to:

- Load the whole ui widget hierarchy from text file;
- Draw the widgets with a large variety of styles;
- Draw the widgets with a large variety of animations effects like fade, stretch and roll.
- Use native multilanguage text (w_char unicode non supported yet);
- render texture fonts with advanced drawing effects using AD GL Font format;
- Render Animated texture images for animated buttons etc.
- Manage the user's input.
- Use basic widget types: Labels, Buttons, Bevels, Edit boxes, Windows.

Actually I'able to render a UI that has a Look & feel very similar to the windows XP one.

All the code is fully commented and prepared to be used with doxygen to create the necessary HTML reference documentation.

I'm a perfectionist so this is the reason why no other alpha version will be available to download for a while since more widgets like menus and toolbars won't be ready.

Yesterday I've partitioned the HD and installed Suse Linux 9.0.
Celestia 1.3.0 is included in the standard distribution. WOW!
I have to admit that the ui of the KDE version is slightly better than the windows one.
When I'll learn how to, I'll try to compile celui under linux using GLUT to see if it is really cross platform as I hope.

- Paolo
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Post #28by don » 12.01.2004, 00:36

Howdy Paolo,

Can we download and try your work on this project? Is there an exe file or source files somewhere? Is part of it the CI02 file on your downloads page?

Thank you,

-Don G.

Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 1 month
Location: Pordenone/Italy

Post #29by Paolo » 12.01.2004, 20:14

Hi Don

You can find a very preliminar scratch in the CIO2 file in my website.
Unpack, launch the exe then press:
<enter> <enter> <g> <enter> <c> <enter> for CELUI.
or
<enter> <enter> <g> <enter> <c> <enter> for ADGLFont demo.
It is a testing environment so... be patient :oops:

If you want to do some experimentations with CELUI you can edit the celestia.ui.

But the actual version is much better. Within a pair of weeks another better demo will be available. :D

- Paolo
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Post #30by don » 14.01.2004, 11:58

Thank you Paolo, I'll have a look.

Ross Campbell

libglut can be found in Mesa (Free OpenGL clone)

Post #31by Ross Campbell » 23.01.2004, 02:28

http://www.mesa3d.org/

When you build it from source, you can get a libglut.so.3.7.X (I presume windows will build a .dll as well.Hope that helps.

Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 1 month
Location: Pordenone/Italy

Post #32by Paolo » 25.01.2004, 13:54

Hi all. Periodical update. :D

Many, many improvements in CELUI. 8)

The project is taking consistency and is starting to get near the alpha version.

Before another test program I would like to publish some screenshots.

ScreenShot #1

- Paolo
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Post #33by don » 25.01.2004, 19:41

Howdy Paolo,

Your UI project is looking good! :)

-Don G.

Topic author
marc
Posts: 426
Joined: 13.03.2002
With us: 22 years 8 months
Location: Outback Australia

Post #34by marc » 17.03.2004, 12:52

I've just compiled a version of celestia using freeglut and pui.

For those who don't know what I'm on about: Pui is a cross platform widget library that is rendered in openGl.
http://plib.sourceforge.net/pui/index.html

So far there are only two buttons that call some glut functions, but it demonstrates that it works. There are many more types of widgets and there is a pui gui builder which should make creating MH's user interface an enjoyable task.

Enough talk, here is a screenshot:

Image

How cool is the transparency! :D This is one of the advantages plib/pui has over has over Qt.

This link shows the fullscreen mode and one of the buttons depressed (note that printscreen does not capture the cursor)
http://mostlyharmless.sourceforge.net/s ... /pui_b.jpg

I hate to rub it in Paolo, but I think this is much better than re-inventing the wheel. Your CELUI still looks great though, and I apologise for missing your above posts. :)

Image PUI is cool.

Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 1 month
Location: Pordenone/Italy

Post #35by Paolo » 17.03.2004, 13:24

Hi Marc.
I'm very glad to see that you experiments about an alternative UI for Mostly Harmless/GLUT Celestia are going on. The screenshot is very nice.

In the last period I was not able to follow up my CELUI project, but I think that when you'll see the next demo you will be a lot surprised.

It is a bit of time that no news was available about CELUI. I have a lack of time at the moment. The initial design was not enough flexible so I was obliged to redesign a large part of the hierachy of classes. I also spent a lot of time in the creation of a system that allows to load the widgets from a text file instead than coding them.
Actually I'm involved in the text animation effects so I've stopped the widget's implementation. But the work is extremely slow. :cry:

Bye - Paolo
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui

don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Post #36by don » 17.03.2004, 21:44

marc wrote:I've just compiled a version of celestia using freeglut and pui.
Congratulations on getting a new UI to work! The screenshots look great.


marc wrote:How cool is the transparency! :D

You're not excited or anything, are you? :lol:

Really glad to know you found a promising OpenGL UI library. Keep us updated on your progress!
-Don G.
My Celestia Scripting Resources page

Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.

Topic author
marc
Posts: 426
Joined: 13.03.2002
With us: 22 years 8 months
Location: Outback Australia

Post #37by marc » 25.03.2004, 12:33

Thanks Don. Yes I'm excited!, plib works really well and it is nice to discover how much time I can save creating the basic user interface.

I have worked out how I can code each gui page in their own class, so making several complex pages won't clutter the main file too much. Here is the start page and the new game page. I will find a proper place for the windowed and fullscreen buttons later.

Image

Image

The set of radio buttons start celx scripts to tour the chosen start locations, I am yet to add a 'start game' button.
It is possible to drag the menu groups around using the right mouse button, not real useful but cool.

Next up is creating a 'navigation mode' which will operate in a similar way to Celestia, though much simpler and database aware.

Marc.

Guest

Post #38by Guest » 25.03.2004, 13:11

Veeeeeery cool Marc. :D
I like it.
It looks like my original feature request for a miltiplatform UI. :wink:

Bye - Paolo

don
Posts: 1709
Joined: 12.07.2003
With us: 21 years 4 months
Location: Colorado, USA (7000 ft)

Post #39by don » 26.03.2004, 21:20

Hey, it's lookin' good Marc! The transparent control surfaces look slick. Keep up the good work!
-Don G.

My Celestia Scripting Resources page



Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.

Paolo
Posts: 502
Joined: 23.09.2002
With us: 22 years 1 month
Location: Pordenone/Italy

Post #40by Paolo » 04.05.2004, 21:02

Hi all. Periodical update.

Many, many other improvements in CELUI. 8)

The project is getting near the beta version.

After a complete rewrite of many classes the hierachy is more clear. Some classes reached the third version so I think are sufficiently mature to be considered stable.

I've already finished text animation stuff. I'm slightly proud of the result. In my opinion the overall effect is simply spectacular 8) .

Now I'll restart to work on menu and dialog boxes. I'm not publishing screenshots because all the fun is in the animations and since a new demo won't be ready it is impossible to appreciate the features.

I would like to start porting under Linux. I've Suse 9.0 in a partition of my system. I would like to use GLUT. Can someone tell me how to start? I'm a beginner so I need instructions from scratch. Is there a website that can help?

- Paolo
Remember: Time always flows, it is the most precious thing that we have.

My Celestia - Celui


Return to “Development”