Realistic lighting for outdoor or naturally lit environments are very important for many applications. As mentioned in the project program, two main difficulties arise when attempting to simulate natural light: the dominant character of sun light, requiring special treatment of shadows and calculation of energy levels, and the treatment of the illumination from the sky hemisphere which becomes important in overcast sky or areas which are not directly lit from the sun.
Previous solutions based on progressive refinement [MKGS95] have been proposed, but their computational and memory expense does not permit their practical use.
The work we are performing in this task attempts to maximize the benefits of hierarchical methods in the context of natural lighting. As follows naturally from the comments above, we address the problems related to direct sunlight and sky hemisphere illumination separately.
We begin with the discussion of a hierarchical representation of hemispherical skylight, and improved methods for its treatment, and continue with the difficulties encountered with the treatment of sun and its shadows in particular.
The sky hemisphere lends itself naturally to a hierarchical representation, since it is an area light source. Nonetheless it has a number of particularities which are related to the fact that it is hemispherical in nature (in contrast to the mainly polygon-based primitives encountered in radiosity to date), and that it encompasses the entire scene. Both of these aspects affect the algorithmic and data-structure choices we make.
As specified in Task 1.2 [A98], LADS 5.0 supports a sky dome description as a basic primitive.
Previous work in this area [Daub97] has shown that it is important in practice to allow for a flexible description of skies, including the ability to use color textures for pleasing visual feedback. In this work package we will use a similar approach, which will allow the use of sky textures including shadows etc. One of the problems related to the use of sky textures was related to the values taken from the texture: clouds are often white and result in saturation. One solution to this problem could be the use of high dynamic range images.
Sky domes are treated as just another light source in the hierarchical radiosity system. Therefore, and thanks to the strong object oriented nature of the algorithms developed in ARCADE, all that is needed is a small set of procedures to
These issues are addressed in work package 3.2 relating to refinement procedures. In this context, a new refiner graph will be defined, explicitly designed for the case of skylight.
The hemispherical nature of the sky dome add a certain difficultly to define a “natural” hierarchical sampling scheme. In previous work at GRAVIR, we employed a longitude-latitude parameterization with an adaptive (quadtree) subdivision, to obtain samples of various area in the sky (see Figure 1).
Figure 1: links can be established at different hierarchical levels on the sky dome, based on energetic and/or visibility variations.
Here the sky is subdivided using a quadtree in longitude-latitude space [Daub97].
This approach has the obvious drawback of introducing a pole at the zenith, with very different areas for the “leaves” of the quadtree. Given the typical variations of incoming radiance, dictated mostly by the sun position along a great circle, a more canonical parameterization would be beneficial.
We propose to use a different parameterization which will not suffer from these problems, notably a geodesic subdivision of the sphere. An example of a geodesic sphere subdivision is shown in Figure 2.
Figure 2: Adaptive geodesic subdivsion (taken from [Gondek94])
An appropriate solution to this has been given by Gondek et al [Gond94]. An adaptive geodesic subdivision is presented as shown in Figure 2. Each spherical triangle is subdivided into four sub triangles in the manner of quadtrees. This provides the appropriate hierarchy whilst avoiding the problems of the parameterisation previously used.
The subdivision of links to the sky hemisphere is evidently a hard decision. Ideally, we should take into account the importance of a contribution from a particular part of the sky dome in the resulting output image. Evidently visibility is a major issue in this context. Another issue which is potentially important is the combined effect of sunlight and skylight. In most cases where sunlight is present the effect of skylight is minimal and thus lower precision will be required.
In terms of taking visibility into account, it seems clear that a distinction must be made between indoor and outdoor scenes. For outdoor scenes, “standard” visibility classification should be used. On the other hand for indoor scenes, skylight will enter through windows or doors, thus greatly restricting the part of the hemisphere which influences the scene directly. Even though a standard approach would eventually work, it would be much more efficient to preprocess the scene in the spirit of “portal” approaches, such as those developed by Teller and Hanrahan at SIGGRAPH 93. In such an approach, the windows and doors which communicate with the skydome would be identified and some visibility-graph type pre-computation performed.
A simple first order approximation to this approach is to identify the windows in an indoor scene. This would require some level of user intervention (i.e., the user must specify that the scene is indoors and specify the windows), but the result would be a great acceleration in speed. A non-hierarchical solution which is very similar to this has been implemented in the LADS radiosity module. If an appropriate interface can be constructed to access the portal determination capability, a more sophisticated interface can be envisaged.
Using the refinement graph approach developed in work package 3.2 we see that the treatment of the indoors/outdoors distinction will simply require the creation of two separate refinement graphs resulting in a comprehensive and easy to comprehend algorithm.
In contrast to the sky hemisphere, the sun is a special kind of light source, which notably can be simulated with acceptable accuracy as a “parallel” light source. We discuss here some consequences of this representation, and discuss issues relating to refinement and shadows.
Since the sun is a parallel light source, its effect of the scene is easy to simulate since its resulting irradiance is constant everywhere. The only issue is the determination of occlusion, which can be thought of as the creation of a shadow map, indicating the regions of the scene which are in shadow. This calculation can be performed efficiently in several ways, including hardware-assisted approaches using parallel (orthographic) projections.
Once the shadow map has been generated it is up to the refinement strategy to use this information to generate the appropriate mesh, by refining across the boundaries of the shadows. Strategies of this sort can be very effective, as has been shown in a different context [Merz97].
In the context of our new refinement approach, an appropriate visibility tool will be created and a specialised sun graph will be constructed.
The shadows produced by such an approach however will be sharp rather than soft (blurred). For outdoor environments or large scales in general this may be sufficient. However, for indoors scenes other treatments may be required (see next section).
The position of the sun is defined as a function of time, longitude and latitude. For some applications, such as the calculation of energy transfer for plant growth, it is useful to specify a trajectory of the sun, permitting the calculation of an average solution over this trajectory.
For small scales and for example for indoor scenes, we will need some blurriness in the shadows produced by direct sunlight. Nonetheless, very high fidelity soft shadows will not necessarily be required for these applications. In particular, simple variants on shadow maps, such as the soft shadow computed by Reeves et al. [Reev87], or Keating and Max [Keat99] could be sufficient. Another possibility could be convolutions maps [SS98a].
Once the appropriate map has been constructed, a new refinement strategy can be defined or the actual shadow maps used in the spirit of Soler and Sillion [SS98b].