Celestia 1.4.0 prerelease

General discussion about Celestia that doesn't fit into other forums.
Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 7 months
Location: Seattle, Washington, USA

Celestia 1.4.0 prerelease

Post #1by chris » 26.10.2004, 21:16

I've made a very early prerelease of Celestia 1.4.0 available for Windows. The main new features are multiple star systems, extended star attributes, and enhanced graphics with the OpenGL 2.0 render path. Get it here: http://www.celestiaproject.net/~claurel/celest ... .0pre1.exe

Note that the new stars.dat file is incompatible with old (and likely future) versions of Celestia.

--Chris

Dollan
Posts: 1150
Joined: 18.12.2003
Age: 54
With us: 20 years 8 months
Location: Havre, Montana

Post #2by Dollan » 26.10.2004, 21:29

Does this also mean that some add ons around binary stars, previously deemed seperate (such as Alpha Centauri, or Gamma Leporis where I had to define a second star) would no longer be valid?

...John...
"To make an apple pie from scratch, you must first create the universe..."
--Carl Sagan

TERRIER
Posts: 717
Joined: 29.04.2003
With us: 21 years 4 months
Location: West Yorkshire, England

Post #3by TERRIER » 26.10.2004, 23:18

Bah !, I've only just discovered this, and it's nearly midnight here in the UK.
I really want to have a look at this.....NOW!!!!.... but I've gotta get some zzzzzzzz's......

.....I don't know if I can wait 'til tomorrow :lol:

Just wanting to know if the 1 million / 2 million star add-ons are compatible with 1.4.0 any more ?

regards,
TERRIER
1.6.0:AMDAth1.2GHz 1GbDDR266:Ge6200 256mbDDR250:WinXP-SP3:1280x1024x32FS:v196.21@AA4x:AF16x:IS=HQ:T.Buff=ON Earth16Kdds@15KkmArctic2000AD:FOV1:SPEC L5dds:NORM L5dxt5:CLOUD L5dds:
NIGHT L5dds:MOON L4dds:GALXY ON:MAG 15.2-SAP:TIME 1000x:RP=OGL2:10.3FPS

Dollan
Posts: 1150
Joined: 18.12.2003
Age: 54
With us: 20 years 8 months
Location: Havre, Montana

Post #4by Dollan » 26.10.2004, 23:31

I'm probably not the best to looki at this thing right now, since my video card seems to be hit and miss with what it can do.... BUT:

I'm assuming, from looking at the pre1 briefly, that the version number under the "help" menue, still saying 1.3.2, is just a hold over for the time being?

Also, do I still need to install the file which adds stellar companions? I can't recall what it was called. If it was newstars.dat, then I'll assume that I need to input my own stellar companions. If so... how? You said there was more data available. Is there something somewhere that lists the proper protocol for creating such an stc file?

And finally, only about 4 of the stars in the extraslar.ssc actually have planets.

I know this is only pre1, so if it sounds like I'm picking nits, my apologies.

...John...
"To make an apple pie from scratch, you must first create the universe..."
--Carl Sagan

symaski62
Posts: 609
Joined: 01.05.2004
Age: 41
With us: 20 years 4 months
Location: france, divion

Post #5by symaski62 » 26.10.2004, 23:43

:D :P merci stars.dat V1.21 .
windows 10 directX 12 version
celestia 1.7.0 64 bits
with a general handicap of 80% and it makes much d' efforts for the community and s' expimer, thank you d' to be understanding.

Kolano

Post #6by Kolano » 26.10.2004, 23:49

What are the requirements for the OpenGL 2.0 Path?

I'm getting a bunch of the following in shaders.log after trying it...

Code: Select all

Vertex shader source:
  1: struct {
  2:    vec3 direction;
  3:    vec3 diffuse;
  4:    vec3 specular;
  5:    vec3 halfVector;
  6: } uniform lights[1];
  7: varying vec2 diffTexCoord;
  8: varying vec2 normTexCoord;
  9: varying vec3 lightDir0;
 10: attribute vec3 tangent;
 11:
 12: void main(void)
 13: {
 14: float nDotVP;
 15: nDotVP = max(0.0, dot(gl_Normal, lights[0].direction));
 16: vec3 bitangent = cross(gl_Normal, tangent);
 17: lightDir0.x = dot(tangent, lights[0].direction);
 18: lightDir0.y = dot(-bitangent, lights[0].direction);
 19: lightDir0.z = dot(gl_Normal, lights[0].direction);
 20: diffTexCoord = gl_MultiTexCoord0.st;
 21: normTexCoord = gl_MultiTexCoord1.st;
 22: gl_Position = ftransform();
 23: }

Fragment shader source:
  1: uniform vec3 ambientColor;
  2: vec4 diff = vec4(ambientColor, 1);
  3: uniform vec3 lightcolor0;
  4: varying vec2 diffTexCoord;
  5: uniform sampler2D diffTex;
  6: varying vec2 normTexCoord;
  7: varying vec3 lightDir0;
  8: uniform sampler2D normTex;
  9:
 10: void main(void)
 11: {
 12: vec4 color;
 13: vec3 n = texture2D(normTex, normTexCoord.st).xyz * 2 - vec3(1, 1, 1);
 14: float l;
 15: l = max(0.0, dot(lightDir0, n)) * clamp(lightDir0.z * 8.0, 0.0, 1.0);
 16: diff += vec4(l * lightcolor0, 0);
 17: color = texture2D(diffTex, diffTexCoord.st);
 18: gl_FragColor = color * diff;
 19: }

Error creating shader.


...I have a 9800 which should support OpenGL 2.0.

Dollan
Posts: 1150
Joined: 18.12.2003
Age: 54
With us: 20 years 8 months
Location: Havre, Montana

Post #7by Dollan » 26.10.2004, 23:53

oop... the OpenGL path is something entirely new to me. That explains some of the stuff, I guess. yar, back to studying the many capabilities of Celestia, I think!

...John...
"To make an apple pie from scratch, you must first create the universe..."
--Carl Sagan

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 7 months
Location: Seattle, Washington, USA

Post #8by chris » 27.10.2004, 00:11

Kolano wrote:What are the requirements for the OpenGL 2.0 Path?


It should work on your hardware . . . It appears that the error messages aren't getting directed to shaders.log. Could you run Celestia from the command line and redirect the output? Like this: celestia > errlog.txt Then, paste in whatever shader errors you see in the the log. I've heard that ATI's shader compiler is more strict than NVIDIA's in that it disallows implicit casts from int to float. For example, you need to write 1.0 instead of 1, unless you're actually dealing with integers.

--Chris

Avatar
selden
Developer
Posts: 10190
Joined: 04.09.2002
With us: 22 years
Location: NY, USA

Post #9by selden » 27.10.2004, 00:17

Dollan wrote:I'm assuming, from looking at the pre1 briefly, that the version number under the "help" menue, still saying 1.3.2, is just a hold over for the time being?
yup. That particular value usually doesn't get changed until the final release is made available.
Also, do I still need to install the file which adds stellar companions? I can't recall what it was called. If it was newstars.dat, then I'll assume that I need to input my own stellar companions. If so... how? You said there was more data available.
If you mean the official STC catalog of double and multiple stars, it is not yet avaiable. Fridger and Grant are still working on it.
Is there something somewhere that lists the proper protocol for creating such an stc file?
Some fragmentary descriptions of the parameters that now can be used in STC catalogs were posted to the developers mailing list and several of them changed along the way. I'm trying to write a more organized document now.

And finally, only about 4 of the stars in the extraslar.ssc actually have planets.


Actually, you've got it reversed :)
extrasolar.ssc defines the planets that have been discovered. Unfortunately, most of the stars that they orbit did not have their distances measured by Hipparcos, so those stars aren't included with Celestia.

For the moment, you'll have to download Grant's Missing Stars Addon. My understanding is that it'll be included with Celestia, starting with some future prerelease. It's currently available at http://www.lepp.cornell.edu/~seb/celestia/hutchison/missing-stars.html
Selden

Dollan
Posts: 1150
Joined: 18.12.2003
Age: 54
With us: 20 years 8 months
Location: Havre, Montana

Post #10by Dollan » 27.10.2004, 00:22

selden wrote:If you mean the official STC catalog of double and multiple stars, it is not yet avaiable. Fridger and Grant are still working on it.

No, I think it is the file that Chris stated wouldn't work with this current version. My Celestia computer is currently unavailable, so I can't check the name off-hand.

Actually, you've got it reversed :)
extrasolar.ssc defines the planets that have been discovered. Unfortunately, most of the stars that they orbit did not have their distances measured by Hipparcos, so those stars aren't included with Celestia.

For the moment, you'll have to download Grant's Missing Stars Addon. My understanding is that it'll be included with Celestia, starting with some future prerelease. It's currently available at http://www.lepp.cornell.edu/~seb/celestia/hutchison/missing-stars.html


Oh, maybe THAT is the one I was thinking of. Okay, that helps.

I'm thinking, though, that I probably won't move over all of my add-ons to the 1.4 series for a while. Maybe not until the final release. That'll give me time to get used to it, and the new capabilities.

...John...
"To make an apple pie from scratch, you must first create the universe..."
--Carl Sagan

Kolano

Post #11by Kolano » 27.10.2004, 01:15

Here's that error log...

Code: Select all

Error getting joystick caps.
Initializing ARB vertex programs . . .
Loading ARB vertex program: shaders/diffuse_arb.vp
Loading ARB vertex program: shaders/specular_arb.vp
Loading ARB vertex program: shaders/haze_arb.vp
Loading ARB vertex program: shaders/bumpdiffuse_arb.vp
Loading ARB vertex program: shaders/bumphaze_arb.vp
Loading ARB vertex program: shaders/shadowtex_arb.vp
Loading ARB vertex program: shaders/diffuse_texoff_arb.vp
Loading ARB vertex program: shaders/rings_arb.vp
Loading ARB vertex program: shaders/ringshadow_arb.vp
Loading ARB vertex program: shaders/night_arb.vp
Loading ARB vertex program: shaders/glossmap_arb.vp
Loading ARB vertex program: shaders/diffuse2_arb.vp
Loading ARB vertex program: shaders/haze2_arb.vp
Loading ARB vertex program: shaders/diffuse_texoff2_arb.vp
Loading ARB vertex program: shaders/specular2_arb.vp
Loading ARB vertex program: shaders/night2_arb.vp
Loading ARB vertex program: shaders/multishadow_arb.vp
Loading ARB vertex program: shaders/texphong_arb.vp
Loading ARB vertex program: shaders/texphong_alpha_arb.vp
All ARB vertex programs loaded successfully.
render path: 3
Error compiling vertex shader:
ERROR: 0:6: 'uniform' : syntax error parse error
Error compiling fragment shader:
uniform vec3 ambientColor;
vec4 diff = vec4(ambientColor, 1);
uniform vec3 lightcolor0;
varying vec2 diffTexCoord;
uniform sampler2D diffTex;
varying vec2 normTexCoord;
varying vec3 lightDir0;
uniform sampler2D normTex;

void main(void)
{
vec4 color;
vec3 n = texture2D(normTex, normTexCoord.st).xyz * 2 - vec3(1, 1, 1);
float l;
l = max(0.0, dot(lightDir0, n)) * clamp(lightDir0.z * 8.0, 0.0, 1.0);
diff += vec4(l * lightcolor0, 0);
color = texture2D(diffTex, diffTexCoord.st);
gl_FragColor = color * diff;
}

ERROR: 0:13: '*' :  wrong operand types  no operation '*' exists that takes a left-hand operand of type '3-component vector of float' and a right operand of type 'const int' (or there is no acceptable conversion)
ERROR: 1 compilation errors.  No code generated.

Error compiling vertex shader:
ERROR: 0:6: 'uniform' : syntax error parse error
Error compiling fragment shader:
uniform vec3 ambientColor;
vec4 diff = vec4(ambientColor, 1);
uniform vec3 lightcolor0;
uniform vec3 lightspecColor0;
varying vec4 spec;
varying vec2 diffTexCoord;
uniform sampler2D diffTex;
varying vec2 normTexCoord;
varying vec3 lightDir0;
uniform sampler2D normTex;
varying vec2 specTexCoord;
uniform sampler2D specTex;
varying vec2 nightTexCoord;
uniform sampler2D nightTex;
varying float totalLight;

void main(void)
{
vec4 color;
vec3 n = texture2D(normTex, normTexCoord.st).xyz * 2 - vec3(1, 1, 1);
float l;
l = max(0.0, dot(lightDir0, n)) * clamp(lightDir0.z * 8.0, 0.0, 1.0);
diff += vec4(l * lightcolor0, 0);
color = texture2D(diffTex, diffTexCoord.st);
gl_FragColor = color * diff + texture2D(specTex, specTexCoord.st) * spec;
gl_FragColor += texture2D(nightTex, nightTexCoord.st) * totalLight;
}

ERROR: 0:20: '*' :  wrong operand types  no operation '*' exists that takes a left-hand operand of type '3-component vector of float' and a right operand of type 'const int' (or there is no acceptable conversion)
ERROR: 1 compilation errors.  No code generated.

Saving preferences . . .
Opened registry key

symaski62
Posts: 609
Joined: 01.05.2004
Age: 41
With us: 20 years 4 months
Location: france, divion

Post #12by symaski62 » 27.10.2004, 01:36

Kolano wrote:Here's that error log...

Code: Select all

Error getting joystick caps.
Initializing ARB vertex programs . . .
Loading ARB vertex program: shaders/diffuse_arb.vp
Loading ARB vertex program: shaders/specular_arb.vp
Loading ARB vertex program: shaders/haze_arb.vp
Loading ARB vertex program: shaders/bumpdiffuse_arb.vp
Loading ARB vertex program: shaders/bumphaze_arb.vp
Loading ARB vertex program: shaders/shadowtex_arb.vp
Loading ARB vertex program: shaders/diffuse_texoff_arb.vp
Loading ARB vertex program: shaders/rings_arb.vp
Loading ARB vertex program: shaders/ringshadow_arb.vp
Loading ARB vertex program: shaders/night_arb.vp
Loading ARB vertex program: shaders/glossmap_arb.vp
Loading ARB vertex program: shaders/diffuse2_arb.vp
Loading ARB vertex program: shaders/haze2_arb.vp
Loading ARB vertex program: shaders/diffuse_texoff2_arb.vp
Loading ARB vertex program: shaders/specular2_arb.vp
Loading ARB vertex program: shaders/night2_arb.vp
Loading ARB vertex program: shaders/multishadow_arb.vp
Loading ARB vertex program: shaders/texphong_arb.vp
Loading ARB vertex program: shaders/texphong_alpha_arb.vp
All ARB vertex programs loaded successfully.
render path: 3
Error compiling vertex shader:
ERROR: 0:6: 'uniform' : syntax error parse error
Error compiling fragment shader:
uniform vec3 ambientColor;
vec4 diff = vec4(ambientColor, 1);
uniform vec3 lightcolor0;
varying vec2 diffTexCoord;
uniform sampler2D diffTex;
varying vec2 normTexCoord;
varying vec3 lightDir0;
uniform sampler2D normTex;

void main(void)
{
vec4 color;
vec3 n = texture2D(normTex, normTexCoord.st).xyz * 2 - vec3(1, 1, 1);
float l;
l = max(0.0, dot(lightDir0, n)) * clamp(lightDir0.z * 8.0, 0.0, 1.0);
diff += vec4(l * lightcolor0, 0);
color = texture2D(diffTex, diffTexCoord.st);
gl_FragColor = color * diff;
}

ERROR: 0:13: '*' :  wrong operand types  no operation '*' exists that takes a left-hand operand of type '3-component vector of float' and a right operand of type 'const int' (or there is no acceptable conversion)
ERROR: 1 compilation errors.  No code generated.

Error compiling vertex shader:
ERROR: 0:6: 'uniform' : syntax error parse error
Error compiling fragment shader:
uniform vec3 ambientColor;
vec4 diff = vec4(ambientColor, 1);
uniform vec3 lightcolor0;
uniform vec3 lightspecColor0;
varying vec4 spec;
varying vec2 diffTexCoord;
uniform sampler2D diffTex;
varying vec2 normTexCoord;
varying vec3 lightDir0;
uniform sampler2D normTex;
varying vec2 specTexCoord;
uniform sampler2D specTex;
varying vec2 nightTexCoord;
uniform sampler2D nightTex;
varying float totalLight;

void main(void)
{
vec4 color;
vec3 n = texture2D(normTex, normTexCoord.st).xyz * 2 - vec3(1, 1, 1);
float l;
l = max(0.0, dot(lightDir0, n)) * clamp(lightDir0.z * 8.0, 0.0, 1.0);
diff += vec4(l * lightcolor0, 0);
color = texture2D(diffTex, diffTexCoord.st);
gl_FragColor = color * diff + texture2D(specTex, specTexCoord.st) * spec;
gl_FragColor += texture2D(nightTex, nightTexCoord.st) * totalLight;
}

ERROR: 0:20: '*' :  wrong operand types  no operation '*' exists that takes a left-hand operand of type '3-component vector of float' and a right operand of type 'const int' (or there is no acceptable conversion)
ERROR: 1 compilation errors.  No code generated.

Saving preferences . . .
Opened registry key


Kolano ==>> Geforce ou ATI ???
windows 10 directX 12 version
celestia 1.7.0 64 bits
with a general handicap of 80% and it makes much d' efforts for the community and s' expimer, thank you d' to be understanding.

Evil Dr Ganymede
Posts: 1386
Joined: 06.06.2003
With us: 21 years 3 months

Post #13by Evil Dr Ganymede » 27.10.2004, 03:31

If you want a binary system to look at, try this one - Selden posted it on the Binary Star System Screen Shots thread. You have to save it as an STC file though.

Put it in 1.4.0's extras directory - then, fire it up and go to "AlfCen", zoom out til you see both stars, and then fast forward time to watch them orbit the barycentre :).

Though at the moment it seems that you can't see the star orbits around the Barycentre, and the star labels don't show up because they're not planets, asteroids, or comets.


Code: Select all

Barycenter "AlfCen"
{
   RA 219.916998
   Dec -60.83748372
   Distance 4.395
}
71683 # ALF Cen A
{
   OrbitBarycenter "AlfCen"
   SpectralType "G2V"
   AppMag 0.01

   EllipticalOrbit {
      Period          79.914
      SemiMajorAxis   10.8928   # mass ratio 1.09:0.92
      Eccentricity    0.5179
      Inclination   82.98
      AscendingNode   67.71
      ArgOfPericenter 3.77
      MeanAnomaly     200.12
   }
}
71681 # ALF cen B
{
   OrbitBarycenter "AlfCen"
   SpectralType "K0V"
   AppMag 1.34

   EllipticalOrbit {
      Period          79.914
      SemiMajorAxis   12.7872   # mass ratio 1.09:0.92
      Eccentricity    0.5179
      Inclination   82.98
      AscendingNode   67.71
      ArgOfPericenter 183.77
      MeanAnomaly     200.12
   }
}



I found what I think might be a bug too when I put a planet in there - see the Bugs board for details...
Last edited by Evil Dr Ganymede on 27.10.2004, 03:57, edited 1 time in total.

Kolano

Post #14by Kolano » 27.10.2004, 03:38

symaski62,
ATI 9800

symaski62
Posts: 609
Joined: 01.05.2004
Age: 41
With us: 20 years 4 months
Location: france, divion

Post #15by symaski62 » 27.10.2004, 06:01

Kolano wrote:symaski62,
ATI 9800


OK :D

Kolano windows 2003/XP/2000/ME/98/95 ou linux ou mac OS

:)
windows 10 directX 12 version
celestia 1.7.0 64 bits
with a general handicap of 80% and it makes much d' efforts for the community and s' expimer, thank you d' to be understanding.

Guckytos
Posts: 439
Joined: 01.06.2004
With us: 20 years 3 months
Location: Germany

Post #16by Guckytos » 27.10.2004, 08:44

Some fragmentary descriptions of the parameters that now can be used in STC catalogs were posted to the developers mailing list and several of them changed along the way. I'm trying to write a more organized document now.


Hi there selden,

if you or chris give me the details, i will rewrite my STC guide, so that it features all the new features too. Well i don't think that i will have to make everything from scratch. For the orbit descricptions i can borrow from Adirondack.

So if i get the data i will update my guide, but no promises on the time ;)

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 7 months
Location: Seattle, Washington, USA

Post #17by chris » 27.10.2004, 09:04

I uploaded another prerelease that fixes a few of the problems in 1.4.0pre1:

http://www.celestiaproject.net/~claurel/celest ... e2-exe.zip

This is an EXE only, so you'll need to first install the 1.4.0pre1 package. It has the following fixes:

- Shader compiler error messages redirected to shaders.log
- Red pixel writing error shader subsituted for shaders which don't compile
- Changed shader int constants to floats so that GLSL path should now work with ATI drivers.
- Implemented light intensity scaling for vertex program render paths

--Chris

Avatar
selden
Developer
Posts: 10190
Joined: 04.09.2002
With us: 22 years
Location: NY, USA

STC catalog parameters

Post #18by selden » 27.10.2004, 10:04

Here's what I have so far:

STC parameters recognized by Celestia v1.4.0 pre1

(Some of these may change before the final release.)

An STC catalog file can be used to describe either Stars or Barycenters around which Stars, Barycenters and SSC objects can orbit.

There are three optional fields used to introduce an STC object.
In their required order of appearence, they are

1. (Optional) type of object: either Barycenter or Star. If omitted, Star is assumed.

2. (Optional) HIP #: if this HIP number is the same as the HIP number of a previously existing star or barycenter, that object is replaced by this one. Barycenters can replace Stars.

3. (Optional) quoted name: can be a list separated by colons (:). This will replace the names of a previously defined object with the same catalog number.

At least a HIP number or a Star name is required.

Examples:

Barycenter 100000 "My Barycenter:My System" { ... description ... }

"My Star" { ... description ... }


All of the parameters used to describe a particular STC object are enclosed within curly-brackets: { }


The location of a Star or Barycenter can be specified using either RA, Dec and Distance or by using the keyword OrbitBarycenter to specify the name of a previouly defined Barycenter or Star

For example:

RA 299.0 # in fractional degrees, 0-360
Dec -10.5 # in fractional degrees, -90 to + 90
Distance 30 # in light years

or

OrbitBarycenter "My Star"

A Star or Barycenter can orbit around another Star or Barycenter.

The orbit of a Star or Barycenter is specified using the same EllipticalOrbit declaration as is used in SSC files. (list of parameters omitted)

This elliptical orbit is relative either to the object's location, which is specified using either an RA, Dec, Distance triplet or by an OrbitBarycenter.

(Specifying RA,Dec,Distance is slightly more efficient than OrbitBarycenter, but only at load time, when Celestia has to lookup the position of the Barycenter.)


By default, the appearance of a Star is controlled by its SpectralType and magnitude (either AbsMag or AppMag).

The default spherical shape of a Star can be modified by the optional declaration
SemiAxes

SemiAxes specifies the relative sizes of a Star's radii in three dimensions:
SemiAxes [1 0.85 1]

The default spherial shape of a Star can be replaced by using the optional model declaration
Mesh

The default surface texture of a Star (normally determined from its SpectralType) can be replaced by using the declaration
Texture

The orientation of a Star is controlled by the same optional rotational element declarations as are used in SSC catalogs.
(list omitted)

Other SSC parameters are not supported. In particular, Bumpmaps, Normalmaps, Nightlights and Atmosphere (including Clouds) are ignored.

Also, AltSurface and Location declarations are not (yet?) supported.
Selden

Starfighter
Posts: 18
Joined: 08.03.2002
With us: 22 years 6 months
Location: France

Post #19by Starfighter » 27.10.2004, 10:54

Hello All

Chris, what's "multiple star systems"?

Avatar
selden
Developer
Posts: 10190
Joined: 04.09.2002
With us: 22 years
Location: NY, USA

Post #20by selden » 27.10.2004, 11:07

Starfighter,

I'm not Chris, but... ;)

Half of the stars that you see in the sky are actually two stars orbiting around one another. Some of those star systems consist of even more stars -- they are "multiple star systems." The Castor star system, for example, contains six (6) stars!

Using the new STC parameters I've listed above, Celestia v1.4.0 can display these stars orbiting around one another.

Unfortunately, only a very small fraction of the double stars have had their orbits accurately measured. Fridger and Grant are working on producing a catalog of them which will be included in the final release of Celestia v1.4.0.

Does this clarify things?
Selden


Return to “Celestia Users”