Virtual environments may include water surfaces, such as oceans, lakes, rivers, and the like, that must be visualized at various times during a simulation. A visualization typically involves rendering a scene in the virtual environment and presenting the rendered scene to a simulation user. Realistically visualizing a water surface presents certain challenges, since water reflects the images of objects above the water surface, and refracts the images of objects below the water surface. Moreover, in a real world environment, which objects below the water surface can be seen from above the water surface may depend on myriad factors, such as the size of the object, the depth of the object, the clarity of the water, the angle of the view with respect to the water surface, and the like. Realistic below-water visualizations of a water surface involve many of the same factors, in particular, reflection of underwater objects off the water surface, and refraction of objects above the water surface. Simulations often deal with these difficulties by simply ignoring reflections and refractions, resulting in an unrealistic water visualization.
In order to efficiently and realistically visualize a water surface such that the reflective and refractive properties of water are realistically depicted, it may be necessary for a simulator to relatively quickly ascertain the elevation of objects with respect to the elevation of the water surface. This becomes increasingly difficult to do as the area of the virtual environment increases, such as a full-earth simulation, since there are large numbers of bodies of water at different elevations, as well as many objects near, above, and below such bodies of water whose locations and elevations must also be quickly ascertainable in order to realistically visualize a particular region of the earth.