The screenshots on the news page are breathtaking. I can't wait to try v1.2.2.
BTW, i'm curious. Chris, how did you implement the eclipse feature? Will it also work when a small satellite hides behind its host planet (say Europa and Jupiter)?.
Keep up the good work!
Eclipses: OMG!
-
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 10 months
- Location: Seattle, Washington, USA
It does work when a small body is hidden by a much larger one. I've observed Europa and Io slip into Jupiter's shadow. It also works for the Earth and Moon, so you'll be able to watch lunar eclipses. You can even get inter-moon eclipses . . .
Eclipses are just circular textures projected onto objects using OpenGL's texture coordinate generation. They're rendered in a second pass after the base texture and effects are applied. Testing for an eclipse is straightforward--it's a matter of determining whether a planet is in the shadow volume of an occluder. Since I assume that all occluders are spherical (no irregular shadows in Celestia for now), it's just a sphere-cylinder intersection, which turns out to be nothing more than a point to line distance calculation.
Actually, the most important thing for eclipses is accurate orbital calculations for planets and moons. Correct orbits for the Galilean moons and the eight largest Saturnian satellites are new in 1.2.2. I just finished working on the Saturn system. Compare this:
http://www.shatters.net/celestia/images/titan-eclipse.jpg
to this Hubble image taken the same day:
http://antwrp.gsfc.nasa.gov/apod/ap960429.html
--Chris
Eclipses are just circular textures projected onto objects using OpenGL's texture coordinate generation. They're rendered in a second pass after the base texture and effects are applied. Testing for an eclipse is straightforward--it's a matter of determining whether a planet is in the shadow volume of an occluder. Since I assume that all occluders are spherical (no irregular shadows in Celestia for now), it's just a sphere-cylinder intersection, which turns out to be nothing more than a point to line distance calculation.
Actually, the most important thing for eclipses is accurate orbital calculations for planets and moons. Correct orbits for the Galilean moons and the eight largest Saturnian satellites are new in 1.2.2. I just finished working on the Saturn system. Compare this:
http://www.shatters.net/celestia/images/titan-eclipse.jpg
to this Hubble image taken the same day:
http://antwrp.gsfc.nasa.gov/apod/ap960429.html
--Chris
-
- Posts: 13
- Joined: 09.02.2002
- With us: 22 years 10 months
- Location: Berlin, Germany
eclipses
WOOOW! Incredible!
They'll be jealous at NASA.
They will say: we shot a picture of Titan's shadow on saturn.
Chris will say: And I saw the eclipse from saturn's surface.
But from version 1.2.2 on I think it will become really important to be able setting my point of view on the earth's surface exactly to watch all the nice eclipses at a given time. Or is that already possible?
Celestia is great!
mediatiger
They'll be jealous at NASA.
They will say: we shot a picture of Titan's shadow on saturn.
Chris will say: And I saw the eclipse from saturn's surface.
But from version 1.2.2 on I think it will become really important to be able setting my point of view on the earth's surface exactly to watch all the nice eclipses at a given time. Or is that already possible?
Celestia is great!
mediatiger
Eclipse
Great! I am hurried to see celestia 1.2.2 I just looked at your code in render.cpp.( unfortunately I don't know how to manage with the cvs technique otherwise I would have compiled the new code!) It looks very clever and the asumptions are convincings. One point however: using the sum of the caster's and receiver's radius as a test looks to me somewhat reducing to umbra shadow. Would not be more general to use the sum of the penumbra's and receiver'radius as a test ?
Would also be possible to extend the eclpseShadow Textures[] to e.g 8 to include for caster with atmosphere some texture that take into account the ligtgtning by the sunlight scattered by the atmosphere? (e.gethe reddish color in our moon eclipse.
MB
Would also be possible to extend the eclpseShadow Textures[] to e.g 8 to include for caster with atmosphere some texture that take into account the ligtgtning by the sunlight scattered by the atmosphere? (e.gethe reddish color in our moon eclipse.
MB
Eclipse
Great! I am hurried to see celestia 1.2.2 I just looked at your code in render.cpp.( unfortunately I don't know how to manage with the cvs technique otherwise I would have compiled the new code!) It looks very clever and the asumptions are convincings. One point however: using the sum of the caster's and receiver's radius as a test looks to me somewhat reducing to umbra shadow. Would not be more general to use the sum of the penumbra's and receiver'radius as a test ?
Would also be possible to extend the eclpseShadow Textures[] to e.g 8 to include for caster with atmosphere some texture that take into account the ligtgtning by the sunlight scattered by the atmosphere? (e.gethe reddish color in our moon eclipse.
MB
Would also be possible to extend the eclpseShadow Textures[] to e.g 8 to include for caster with atmosphere some texture that take into account the ligtgtning by the sunlight scattered by the atmosphere? (e.gethe reddish color in our moon eclipse.
MB
-
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 10 months
- Location: Seattle, Washington, USA
You are probably looking at an earlier version of the source . . . I actually compute a shadow radius, which is affected by the caster's radius as well as the apparent diameter of the sun. I then check to see if distance from the center of the receiver to the shadow axis is less than the shadow radius plus receiver's radius. There's still a couple more cases that I need to handle. For example, if the apparent diameter of the sun is larger than that of the occluding object, the darkness of the shadow needs to be reduced (and if the sun is much larger, I shouldn't bother rendering an eclipse at all.) This will be an issue (well, hypothetically) for eclipses from moons of 'hot Jupiters.'One point however: using the sum of the caster's and receiver's radius as a test looks to me somewhat reducing to umbra shadow. Would not be more general to use the sum of the penumbra's and receiver'radius as a test ?
Would also be possible to extend the eclpseShadow Textures to e.g 8 to include for caster with atmosphere some texture that take into account the ligtgtning by the sunlight scattered by the atmosphere? (e.gethe reddish color in our moon eclipse.
My plan is to eventually move from a static set of eclipse shadow textures to rendering them on the fly. At that point, I'll see about modeling atmospheric scattering. Unfortunately, render to texture in OpenGL is a real pain, so this won't make it in to 1.2.2.
--Chris
-
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 10 months
- Location: Seattle, Washington, USA
donkey wrote:Oh that picture reminds me, does the rings make an shadow on planets?
Not yet, but I will get around to adding this eventually. In version 1.2.3 of Celestia I'll probably rework a whole bunch of the shadow code and make rings cast shadows on planets, improve the quality of the shadow cast on the rings, and tweak eclipse shadows somewhat.
--Chris
Also Chris, you may be aware of this already, but when I add a cloud texture to the jovians I noticed on saturn and uranus, that you are able to see the rings as clear as day through the clouds, well, when in fact they should be hidden, or atleast barely visible...Will you be implimenting a fix on this in the next version? j/w...cause this program is simply amazing...and now I am an addict
I'm trying to teach the cavemen how to play scrabble, its uphill work. The only word they know is Uhh and they dont know how to spell it!
-
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 10 months
- Location: Seattle, Washington, USA
Rassilon wrote:Also Chris, you may be aware of this already, but when I add a cloud texture to the jovians I noticed on saturn and uranus, that you are able to see the rings as clear as day through the clouds, well, when in fact they should be hidden, or atleast barely visible...Will you be implimenting a fix on this in the next version?
Oops . . . Since I'd never used a cloud layer on a planet with rings, I didn't realize that this was a problem. I'll try and fix this for the next version--it shouldn't be too hard to solve this.
--Chris
Sorry Chris, I apologize, I did not looked carefully to your code , Of course everything is correct concerning the shadowtest. Just to come back about the eclipse of our moon (that is rather special in our solar system I assume a first approximation should be to use
different colors for the pixel shadows. that I meant. Probably I could try when the 122 version will be out. Thants again
different colors for the pixel shadows. that I meant. Probably I could try when the 122 version will be out. Thants again
-
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 10 months
- Location: Seattle, Washington, USA
Rassilon wrote:Also Chris, you may be aware of this already, but when I add a cloud texture to the jovians I noticed on saturn and uranus, that you are able to see the rings as clear as day through the clouds, well, when in fact they should be hidden, or atleast barely visible...Will you be implimenting a fix on this in the next version?
Here are a couple images from the fixed version of Celestia:
http://www.shatters.net/celestia/images/rings1.jpg
http://www.shatters.net/celestia/images/rings2.jpg
The first image shows the rings during daylight from the surface of a planet with an atmosphere. The second image is from the same planet except at night time--the rings shine brightly in the night sky except for the part in the planet's shadow. Watching the full day night cycle on this planet is quite spectacular. It's also interesting to move around and see how the rings appear from different points on the surface. This hypothetical world orbits a type K star, so there's a very slight reddish cast to the light.
--Chris
Those look excellent! Does the stars themselves cast the light, or do you have to use SpecularColor? Also Chris, not remembering my astronomy at all...what classes of stars are green? And would it be possible to add green stars? Or even Purple...which I guess are Ultraviolet suns...
Well I think you know what more this would lead to...
Pulsars
Neutron Stars
Binary suns
Brown Dwarf systems
Black Holes
and already requested Nebulas...But I think you mentoned something about this earlier...
BTW - I changed the textures of the stars...Heres a few examples...
http://cybermindtraveller.freewebspace.com/pics/betel.jpg
http://cybermindtraveller.freewebspace.com/pics/sol.jpg
They need more work, like the photosphere or sun glare I am going to change too...
Also, where can I get a good textured map of the sun?
Well I think you know what more this would lead to...
Pulsars
Neutron Stars
Binary suns
Brown Dwarf systems
Black Holes
and already requested Nebulas...But I think you mentoned something about this earlier...
BTW - I changed the textures of the stars...Heres a few examples...
http://cybermindtraveller.freewebspace.com/pics/betel.jpg
http://cybermindtraveller.freewebspace.com/pics/sol.jpg
They need more work, like the photosphere or sun glare I am going to change too...
Also, where can I get a good textured map of the sun?
I'm trying to teach the cavemen how to play scrabble, its uphill work. The only word they know is Uhh and they dont know how to spell it!