Page 1 of 1

Albedo problems

Posted: 31.01.2003, 19:37
by selden
I'm not sure if this should be considered a "bug" or a "limitation". Probably the latter. To some people this is "obvious." but I was slightly surprised when I encountered it. Certainly it needs to be taken into consideration by anyone who might think about using Celestia to compare the brightness of objects.

When one observes a non-self-illuminating object in the sky, its albedo is a measure of how much light it reflects. Its brightness is determined by its albedo (i.e. the fraction of incoming light that is reflected), the solar phase angle (i.e. the fraction of the visible surface that is illuminated) and the total area of the visible surface (i.e. the object's diameter).

Unfortunately, in Celestia these factors only determine the maximum brightness that an object can have. Two identical objects with the same albedo, illumination and area can have quite different brightnesses depending on the choice of surface texture map. On a real object, the surface texture (i.e. color) is already factored into its albedo value (which actually is a function that has different values depending on the wavelengths involved in the measurement).

An example of the differences this can make can be seen at http://www.lns.cornell.edu/~seb/celestia/hutchison/index.html#4.3.
In the 4 images of Eros, only their surface texture maps differ but there are quite dramatic differences in their brightnesses.

sigh.

Albedo problems

Posted: 31.01.2003, 20:00
by chris
selden wrote:I'm not sure if this should be considered a "bug" or a "limitation". Probably the latter. To some people this is "obvious." but I was slightly surprised when I encountered it. Certainly it needs to be taken into consideration by anyone who might think about using Celestia to compare the brightness of objects.

The albedo only affects objects when they're small enough to appear as points. Otherwise, only the surface texture affects brightness. It would be easy to multiply the surface texture by the albedo, but I think that this is undesirable. For instance, the albedo of the Moon is 0.12 . . . If the Moon texture was reduced to 12% of its brightness, it would appear almost completely black. Like many of the other limitations of Celestia, this all comes down to a mismatch between the range of brightness displayable on a monitor, and the vastly greater range perceivable with the human eye.

There is hope for getting around all these problems . . . The GeForce FX (and presumably other new hardware as well) support rendering to a 16-bit or 32-bit per channel floating point frame buffer. This allows a huge dynamic range. It doesn't solve the display problem, however . . . you still need to do a final pass to scale and bias the frame buffer values to 8 or 10 bit values that pass through a DAC to your monitor. The scale and bias could be user-configurable, or better yet, they could be adjusted automatically by Celestia: an auto iris feature perhaps designed to mimic the behavior of the human eye. Using the floating point frame buffers of new hardware is something I'm very excited about.

--Chris

Posted: 31.01.2003, 20:42
by selden
Chris,

I agree, a floating point color space sounds great!

Now I just have to save up my pennies....

Posted: 31.01.2003, 21:13
by HankR
Selden,

Another point, as I'm sure you know: the brightness calculation based on albedo which you describe is only applicable to objects which are generally spherical and of uniform surface reflectance. It is not very accurate for Eros (non-spherical) or Iapetus (non-uniform reflectance), for example.

- Hank