of the color patch, meaning that the texture of the ground changes in response to those minor changes in height and slope.
RealWorldz has to render terrain with a high frame rate in addition to generating the new terrain texture maps. Even with each octave requiring just one texture read and some simple mathematics and planets pared to the bare minimum number of octaves, the fragment shader takes over a thirtieth of a second to generate a new 256 x 256 texture map. A period this long is unacceptable for real-time rendering.
The solution is to spread the work of generating the new texture map across several frames by generating a subset of the new texture map during each frame. The more frames across which the work is split, the smaller the drop in frame ratebut taking longer to generate means that it will take longer before low-resolution terrain is replaced with higher-resolution terrain. In RealWorldz, the generation of each 256 x 256 texture map was spread across six frames.
The textbook method for calculating atmospheric scattering is described in the paper Display of The Earth Taking into Account Atmospheric Scattering, by T. Nishita, T. Shirai, K. Tadamura, E. Nakamae, in the SIGGRAPH '93 proceedings.
The standard way to calculate a distant object's change in color due to atmospheric effects is as follows. The change is split into "inscattering" and "extinction." Inscattering is the scattering of light into the line from object to eyethis is an addition in the light intensity. Extinction refers to the absorption of lightthis is a scaling of the light intensity by some factor. If Lo is the radiance of the distant object and Ls is the radiance of the ray at the viewer, then Ls = CeLo + Ci where Ce is the extinction factor, and Ci is the inscattered light.
Figure 20.7. Elements of the atmospheric shell model used to compute aerial perspective