Page 1 of 1

StarDust - A SSC File Developement Enviroment - Help Wanted

Posted: 15.11.2005, 15:54
by Macoy
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 :)

Posted: 15.11.2005, 17:23
by alphap1us
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

Posted: 15.11.2005, 17:54
by maxim
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

Posted: 16.11.2005, 08:58
by Macoy
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.

Posted: 16.11.2005, 11:32
by selden
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

Posted: 16.11.2005, 16:31
by Macoy
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)

GUI Desing

Posted: 17.11.2005, 11:50
by Macoy
Here is a actual screenshot of the GUI:

I hope I forgot nothing :?

Image

Posted: 18.11.2005, 00:50
by MKruer
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.

StarDust - latest Screenshot

Posted: 29.11.2005, 17:24
by Macoy
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.

Nice

Posted: 29.11.2005, 19:39
by head
Nice this will make my star sytem dream much tru

Posted: 30.11.2005, 00:16
by ajtribick
In the properties panel, the word should be "elliptical" not "elipptical"...

Posted: 01.12.2005, 10:28
by Macoy
Thank you, chaos.

WOW

Posted: 23.12.2005, 18:28
by JackCrow
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

Posted: 02.01.2006, 17:29
by GlobeMaker
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?

Posted: 02.01.2006, 19:20
by selden
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);
    }