Page 1 of 2
Celestia 1.4.0 prerelease
Posted: 26.10.2004, 21:16
by chris
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
Posted: 26.10.2004, 21:29
by Dollan
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...
Posted: 26.10.2004, 23:18
by TERRIER
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
Just wanting to know if the 1 million / 2 million star add-ons are compatible with 1.4.0 any more ?
regards,
TERRIER
Posted: 26.10.2004, 23:31
by Dollan
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...
Posted: 26.10.2004, 23:43
by symaski62
merci stars.dat V1.21 .
Posted: 26.10.2004, 23:49
by Kolano
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.
Posted: 26.10.2004, 23:53
by Dollan
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...
Posted: 27.10.2004, 00:11
by chris
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
Posted: 27.10.2004, 00:17
by selden
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
Posted: 27.10.2004, 00:22
by Dollan
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...
Posted: 27.10.2004, 01:15
by Kolano
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
Posted: 27.10.2004, 01:36
by symaski62
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 ???
Posted: 27.10.2004, 03:31
by Evil Dr Ganymede
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...
Posted: 27.10.2004, 03:38
by Kolano
symaski62,
ATI 9800
Posted: 27.10.2004, 06:01
by symaski62
Kolano wrote:symaski62,
ATI 9800
OK
Kolano windows 2003/XP/2000/ME/98/95 ou linux ou mac OS
Posted: 27.10.2004, 08:44
by Guckytos
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
Posted: 27.10.2004, 09:04
by chris
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
STC catalog parameters
Posted: 27.10.2004, 10:04
by selden
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.
Posted: 27.10.2004, 10:54
by Starfighter
Hello All
Chris, what's "multiple star systems"?
Posted: 27.10.2004, 11:07
by selden
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?