Different Effects (Real vs. Orbiter)

DarkEnergy

Addon Developer
Addon Developer
Joined
Jun 7, 2009
Messages
84
Reaction score
0
Points
0
Why, in Orbiter, does the light during sunsets sort of bleed across the entire atmosphere until the sun is completely down? It does that instead of a thin line in the last couple minutes like in this real-world picture:

ISSMarch.jpg


Are there any add-ons to correct this? I think it would be cooler.
 
In the real world, you have diffusion of light through the atmosphere, whereas in Orbiter (I'm guessing here, I don't know how the graphics are actually done), there's no diffusion of light through the atmosphere. That's my guess.
 
Oh. That makes sense. Thanks for the guess.
 
Making such diffusion effects in rendering is not really easy, it is pretty processor intensive. In DirectX10 or modern OpenGl variants, you can implement such effects as shader, but they are pretty slow and require a lot of memory extra for storing stencil buffers.
 
Implementing atmospheric haze as a shader doesn't involve stencil buffers and is quite resource-friendly, runs smoothly even on integrated hardware (see gamedev.net for tutorials). You're rendering one planet at most (distant bodies are LODded to points).

Of course, DX7 doesn't feel like shaders, so we're gonna have to wait for OGLA.

My theory is that the culprit here is LDR vs. HDR.

In Low Dynamic Range, luminance values are clamped to [0, 1]. The brightest color is simply white. The atmospheric haze is being calculated properly, however the "ring" (the halo around the planetary disc) is limited by LDR to very low luminances.

If it were rendered in High Dynamic Range, the brightest object (Sun) would have a luminance value far higher than 1 (e.g. hundreds of thousands). The ring, which is lit more directly, would also have a high luminance value, while the indirectly lit bleed (the falloff, scattering in the atmosphere) would be relatively low. The HDR image data (48 or 96 bits per pixel) would then be mapped to LDR screen output (24 bits per pixel) in a tone-mapping routine (think of it as exposure control in a camera), making only the bright parts stand out (the ISS, the halo and the Sun) and everything else pitch black.

It's the same effect that makes stars invisible on photos in space, e.g. Apollo photos or ISS live feeds.
 
Last edited:
Okay, thanks for all the clarification guys.
 
Back
Top