Atmospheres and Surface Colors.

Discussion forum for Celestia developers; topics may only be started by members of the developers group, but anyone can post replies.
Avatar
Topic author
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Atmospheres and Surface Colors.

Post #1by t00fri » 11.01.2007, 13:42

Atmospheres and Surface Colors
====================

Let me illustrate the problematics with 3 examples:

1) BMNG Earth.
=========

The colors of the BMNG textures are considered to be excellent. Yet
many have complained and found them too dark. The point is,
however, that these colors are supposed to represent the Earth's
surface colors with the effects of the atmosphere subtracted!


2) Titan
=====

You all know that orange landing photo on Titan's surface

Image

and various similar ones...

This is not a genuine color photo, but rather a coloration using the
/measured/ sky color only
, assuming a grayscale surface. So in a
sense, it's the opposite philosophy compared to BMNG: The surface
color just reflects the color filtered out by the atmospheric haze.

Nobody seems to know what the natural color of the Titan surface
really is.


3) Venus
=====

After lots of searching I found this official image from the Venus surface after the Russian Venera 13 landing. It originates from: USSR Academy of Sciences/Brown University, cf. http://www.nasm.si.edu/ceps/etp/venus/global.html

Image

There was much discussion about the Venus color in another thread
already. This image shows the combined effect of sky color AND
surface color
. However, since the sky color was measured
independently, it could be subtracted leading to this rocky-gray
surface (basalt) with atmosphere effects subtracted


Image
Note: the color-gauging bar and the very natural colors associated
with visible parts of the spacecraft and the color bar!!

We see from these 3 examples that a more uniform approach is clearly
very desirable in order to proceed towards even better renderings of
celestial bodies.

I did some experiments with the present 1.5.0 Mie atmosphere, and
found that the light reaching the surface does not illuminate it in the
appropriate colors! Titan is a good benchmark case. A gray Titan
surface remains gray if the orange atmosphere is turned on.

+++++++++++++++
I think we should strive to improve on this issue such that eventually,
for the base textures, we may refer to surface colors without
atmospheric effects

++++++++++++++++

Chris?

Bye Fridger
Last edited by t00fri on 11.01.2007, 21:19, edited 2 times in total.
Image

chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 9 months
Location: Seattle, Washington, USA

Post #2by chris » 11.01.2007, 17:17

+++++++++++++++
I think we should strive to improve on this issue such that eventually,
for the base textures, we may refer to surface colors without
atmospheric effects
++++++++++++++++


I agree completely, and in fact have created a version of the code that used the filtered color for the *specular* light. This produced a very nice effect of orange reflections on water during sunrises and sunsets. For diffuse light, the results seemed strange for the familiar case of the Earth. The color shift seemed too dramatic--I don't think I was properly accounting for the contributions of the direct light from the Sun and the scattered light from the sky.

The reason that these modifications to the atmosphere code don't appear in CVS is that they required the use of additional interpolators in the shaders. Interpolators are scarce hardware resources: the GeForce 8800 can use 16 per shader, but other hardware can only use 8 or 10. So we need to figure out how to conserve interpolators, otherwise we'll see more of the uniform red planets that indicate a shader compilation error has occurred. One of the problems that we have now is that a separate interpolator is used for every texture: base, normal map, specular map, and night map. It's possible to get use a single interpolator for all textures by doing some extra calculation in the pixel shader, but this will require significant modifications to the planet rendering code.

--Chris


Return to “Ideas & News”