Multiple light sources + OpenGL 2.0 = overexposed planets

Report bugs, bug fixes and workarounds here.
Topic author
bdm
Posts: 461
Joined: 22.07.2005
With us: 19 years 4 months
Location: Australia

Multiple light sources + OpenGL 2.0 = overexposed planets

Post #1by bdm » 28.01.2009, 12:26

When a planet with a light-coloured texture (for example, an ice-covered planet) is in orbit around a double star, the OpenGL 2.0 render path overexposes the texture. Instead of the features showing up, the planet is overexposed and large parts can turn out featureless white (or possibly another uniform colour).

This has been replicated in Celestia 1.5.0 and Celestia 1.6.0, r4606 (Windows XP).

If a moon casts a shadow on the overexposed part, detail can be seen inside the shadow but not outside.

Render path: OpenGL vertex program/NVIDIA combiners - this works
test1-opengl-nvidia.jpg


Render path: OpenGL 2.0 - this does not work; note the loss of detail in the middle of the planet's image
test1-opengl2.jpg


To replicate, here is the texture:
light-test.jpg


Here is the ssc file:

Code: Select all

"Testworld" "DEL Tri"
{
    Radius 5000
    Color       [ 0.6 0.6 0.6 ]   

    Texture "light-test.*"

    EllipticalOrbit
    {
        Period           2.07
        SemiMajorAxis    1.96
        Eccentricity     0.0
        Inclination      057
        AscendingNode    122
        LongOfPericenter 356
        MeanLongitude    276
    }

    Obliquity            057
    EquatorAscendingNode 122

    RotationOffset       0
    RotationPeriod       24

    Albedo               0.50
}

"Testmoon" "DEL Tri/Testworld"
{
    Radius               500
    Texture              "light-test.*"
    Color                [0.4 0.4 0.4]
    Albedo               0.3

    EllipticalOrbit
    {
        Period           2
        SemiMajorAxis    30000
        Eccentricity     0
        Inclination      000
        AscendingNode    212
        LongOfPericenter 146
        MeanLongitude    132
    }

    Obliquity            000
    EquatorAscendingNode 010
    RotationOffset       000
}


Cel URL

(if the above URL does not work:
1. Type: Enter, "DEL Tri", Enter
2. Type: "g" (Go to)
3. Type: "1", "g" (Go to)
4. If desired, Speed it up by 100000x until the moon shadow crosses the planet's face)

NOTES:
* This issue appears to be caused by something in the handling of multiple light sources. OpenGL 2.0 is the only render path that draws multiple shadows, and it is the only render path that has this issue with loss of detail.
* Above screen captures were created before I added the moon

Topic author
bdm
Posts: 461
Joined: 22.07.2005
With us: 19 years 4 months
Location: Australia

Re: Multiple light sources + OpenGL 2.0 = overexposed planets

Post #2by bdm » 02.02.2009, 11:27

Hmm, even when drawn right, the render still looks wrong (see top image). It looks as if someone's drawn the planet onto a balloon and then squashed the balloon against a piece of glass. The middle portion is of uniform brightness and the ring around the edge tapers off in brightness.

This only happens for light-coloured planets; darker planets look fine.

Does anyone else see this issue or the other one mentioned in the OP?

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Re: Multiple light sources + OpenGL 2.0 = overexposed planets

Post #3by selden » 02.02.2009, 12:59

I see the same effect.
Apparently Celestia needs to rescale when whites are saturated.

Maybe it'll be fixed by the use of HDRI, but I dunno when that might happen.
Selden

BobHegwood
Posts: 1803
Joined: 12.10.2007
With us: 17 years 1 month

Re: Multiple light sources + OpenGL 2.0 = overexposed planets

Post #4by BobHegwood » 03.02.2009, 14:29

bdm wrote:Does anyone else see this issue or the other one mentioned in the OP?

Don't know if this is the same problem or not, but I still
have to play with ambient light in order to display my
planets so that the ambient light works correctly. I have reported
this before, but on my system, I have to change the ambient
light value to "none" and then reset it to "medium" when I
first start Celestia. After I do this once, my ambient light
setting works fine until I restart Celestia. Just FYI. :wink:
If I don't do this, I see the same problem as bdm does here.

Thanks, Brain-Dead
Brain-Dead Geezer Bob is now using...
Windows Vista Home Premium, 64-bit on a
Gateway Pentium Dual-Core CPU E5200, 2.5GHz
7 GB RAM, 500 GB hard disk, Nvidia GeForce 7100
Nvidia nForce 630i, 1680x1050 screen, Latest SVN

Topic author
bdm
Posts: 461
Joined: 22.07.2005
With us: 19 years 4 months
Location: Australia

Re: Multiple light sources + OpenGL 2.0 = overexposed planets

Post #5by bdm » 16.02.2009, 10:53

Bob's issue with the ambient light has allowed me to find that the solar system planets becomes similarly overexposed once the ambient light is cranked up with the } key. For Jupiter it shows with the ambient light set to anything over 0.20, Saturn 0.25, Uranus 0.35 and Neptune 0.75.


Return to “Bugs”