Page 1 of 1

Eclipses: OMG!

Posted: 21.02.2002, 19:54
by Raul
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!

Posted: 21.02.2002, 21:09
by chris
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

Posted: 21.02.2002, 22:25
by mediatiger
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

Eclipse

Posted: 22.02.2002, 08:28
by MB
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

Eclipse

Posted: 22.02.2002, 08:29
by MB
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

Posted: 22.02.2002, 11:19
by donkey
Oh, that picture reminds me, do the rings make a shadow on planets?

Posted: 22.02.2002, 17:14
by chris
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 ?
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.'

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

Posted: 22.02.2002, 17:20
by chris
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

Posted: 22.02.2002, 20:32
by Rassilon
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 ;)

Posted: 22.02.2002, 21:24
by chris
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

Posted: 23.02.2002, 00:19
by Guest
Didn't think it was too difficult...Thanks Chris...I cant wait till this update comes out!

Posted: 23.02.2002, 08:36
by MB
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

Posted: 23.02.2002, 22:26
by JeffBlack
I thought the rings look really cool when you view the gas giant from an orbiting satellite with an atmosphere. I will put a link to the screenshots when i upload them later.

Posted: 28.02.2002, 04:37
by chris
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

Posted: 28.02.2002, 20:19
by Rassilon
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?