StarDust - A SSC File Developement Enviroment - Help Wanted

The place to discuss creating, porting and modifying Celestia's source code.
Topic author
Macoy
Posts: 8
Joined: 15.11.2005
With us: 19 years

StarDust - A SSC File Developement Enviroment - Help Wanted

Post #1by Macoy » 15.11.2005, 15:54

Hi,

I like to create planetary systems in CELESTIA. But writing SSC Files can be very difficult. Thatswhy I decided to write a SSC File Developement Enviroment (in C#) , codename StarDust.

I need help with the property - description's . There are lots of properties you can define on each sub stellar object. I've implemented them all, but there should be a description for them.

Here is a screenshot of the user interface:

Image

Now I need the description of "selected parameters" (right, bottom of the UI). Can someone help me to describe the parameters ? If yes, i will publish a CVS (comma separated file), where u can write down the description of the parameter.

Also I want to create a generator, that generates complete planetary systems from statistic formulas. If someone has more information on this, i would be pleased.

Example:

Input:
- Gravity of Planet
- Distance to sun

Output:
- Number of Moons
- Size of Moons

etc ........

The current aim are:
- Creating and exporting SSC Files
- Importing and editing SSC Files

After that:
- Star System Generator
- OpenGL Preview of Objects

When a useable beta version will be available, i will publish it.

That is a open source project, everone can join StarDust :)

alphap1us
Posts: 212
Joined: 17.12.2003
With us: 20 years 11 months
Location: Buenos Aires

Post #2by alphap1us » 15.11.2005, 17:23

Hi,
For descriptions of the SSC parameters, see the relevant sections of the Motherldoe Documentation. http://celestiamotherlode.net/catalog/d ... ation.html

Thomas Guilpain also has some good explanations of SSC properties at his site. http://members.fortunecity.com/guilpain/index_uk.htm

Cheers,
Joe

maxim
Posts: 1036
Joined: 13.11.2003
With us: 21 years
Location: N?rnberg, Germany

Post #3by maxim » 15.11.2005, 17:54

Doesn't sound bad.

If you want to make a /real/ neat user interface (and have a /lot/ more work ;) ) I`d suggest a 3d visualisation of change effects on the current parameter - you know, a axis that gets tilted more or less, a orbit position that shifts forward/backward and so on...

maxim
Get my stuff from celestia.ziegelstein.net

Topic author
Macoy
Posts: 8
Joined: 15.11.2005
With us: 19 years

Post #4by Macoy » 16.11.2005, 08:58

I will try to implement a (simple) 3D visualization so that you can adjust planet - textures without starting Celestia everytime.

Is there a way to start Celestia with parameters, so that you can directly go to a designated location ? I think about a button "Start Celestia", so that a click on it starts Celestia with the current star system. Would be a little bit unconfortable to travel always from Earth to the modified system.

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #5by selden » 16.11.2005, 11:32

Macoy,

Please read the Celestia Users Guide, especially its discussion of Cel:// URLs. It's available in several languages on the documentation pages at
http://www.celestiaproject.net/celestia/documentation.html
and
http://www.celestiamotherlode.net/catal ... ation.html
Selden

Topic author
Macoy
Posts: 8
Joined: 15.11.2005
With us: 19 years

Post #6by Macoy » 16.11.2005, 16:31

Thank's for that information.

Before starting to dream about great features, I will continue work to reach the first milestone:

- Creating SSC files and exporting complete projects - folders (including textures etc.) into cel's "extras" folder
- Importing existing SSC files (ui... lots of parsing stuff..)
- Creating Cel - Links (thanks to seldon for the hint)

Topic author
Macoy
Posts: 8
Joined: 15.11.2005
With us: 19 years

GUI Desing

Post #7by Macoy » 17.11.2005, 11:50

Here is a actual screenshot of the GUI:

I hope I forgot nothing :?

Image

MKruer
Posts: 501
Joined: 18.09.2002
With us: 22 years 2 months

Post #8by MKruer » 18.11.2005, 00:50

You might want to take a look at Celestia System Editor

I was working on it two years ago, but gave it up.

So far what you have looks good, and more or less what I was aiming for years ago. Keep up the good work. I would love to see this implement. Right now I am using an Excel Spread sheet to create new systems, it works, but its clunky.

Topic author
Macoy
Posts: 8
Joined: 15.11.2005
With us: 19 years

StarDust - latest Screenshot

Post #9by Macoy » 29.11.2005, 17:24

The developement is still in progress, but i think a useable version will be ready in 3 weeks.

Image

Here you can see, that ssc code generation already works. Now iam working on implementations details.

head
Posts: 2
Joined: 29.11.2005
With us: 18 years 11 months
Location: eksjo

Nice

Post #10by head » 29.11.2005, 19:39

Nice this will make my star sytem dream much tru

ajtribick
Developer
Posts: 1855
Joined: 11.08.2003
With us: 21 years 3 months

Post #11by ajtribick » 30.11.2005, 00:16

In the properties panel, the word should be "elliptical" not "elipptical"...

Topic author
Macoy
Posts: 8
Joined: 15.11.2005
With us: 19 years

Post #12by Macoy » 01.12.2005, 10:28

Thank you, chaos.

JackCrow
Posts: 20
Joined: 22.05.2002
With us: 22 years 6 months
Location: MA

WOW

Post #13by JackCrow » 23.12.2005, 18:28

This looks awesome. Keep up the good work, and I'm sure to a beta-tester once you reach that stage.

This would make my dream of creating all of Niven's Known Space that much easier. :D
Just because you can do something with a computer, doesn't mean you should.

GlobeMaker
Posts: 216
Joined: 30.10.2005
With us: 19 years

Post #14by GlobeMaker » 02.01.2006, 17:29

Hello Macoy,

The Haze Density line in the .ssc file is not used by the Celestia program.
In the software, that function is replaced by the alpha value of hazeColor.

See render.cpp and solarsys.cpp :


// Set up the fog parameters if the haze density is non-zero
float hazeDensity = ri.hazeColor.alpha();

if (hazeDensity > 0.0f && !buggyVertexProgramEmulation)
{
glEnable(GL_FOG);
float fogColor[4] = { 0.0f, 0.0f, 0.0f, 1.0f };
fogColor[0] = ri.hazeColor.red();
fogColor[1] = ri.hazeColor.green();
fogColor[2] = ri.hazeColor.blue();
glFogfv(GL_FOG_COLOR, fogColor);
glFogi(GL_FOG_MODE, GL_LINEAR);
glFogf(GL_FOG_START, 0.0);
glFogf(GL_FOG_END, 1.0f / hazeDensity);
}

...
...
Color hazeColor = surface->hazeColor;
float hazeDensity = hazeColor.alpha();
if (surfaceData->getColor("HazeColor", hazeColor) | surfaceData->getNumber("HazeDensity", hazeDensity))
{
surface->hazeColor = Color(hazeColor.red(), hazeColor.green(),
hazeColor.blue(), hazeDensity);
}
________________________________________________________

Macoy said on November 29, 2005, "The developement is still in progress, but i think a useable version will be ready in 3 weeks".

Three weeks have passed. Where's my StarDust?
Your wish is my command line.

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #15by selden » 02.01.2006, 19:20

GM,

The first line you show is loading hazeDensity with a default value (the current value of hazeColor.alpha) in case HazeDensity isn't specified in the SSC file.

You left out the code right after that which loads HazeColor and HazeDensity into hazeDensity and then into the 4th field of hazeColor, which is hazeColor.alpha. (The 4th field of a Color is its alpha value.)

Code: Select all

float hazeDensity = hazeColor.alpha();
    if (surfaceData->getColor("HazeColor", hazeColor) | surfaceData->getNumber("HazeDensity", hazeDensity))
    {
        surface->hazeColor = Color(hazeColor.red(), hazeColor.green(),
                                   hazeColor.blue(), hazeDensity);
    }
Selden


Return to “Development”