Radiosity - Ray Tracing


The importance of generating realistic images from electronically stored scenes has significantly inreased during the last few years. For this reason a number of methods have been introduced to simulate various effects which increase the realism of computer generated images. Among these effects are specular reflection and refraction, diffuse interreflection, spectral effects, and various others. They are mostly due to the interaction of light with the surfaces of various objects, and are in general very costly to simulate.

The two most popular methods for calculating realistic images are radiosity and ray tracing. The difference in the simulation is the starting point: Ray tracing follows all rays from the eye of the viewer back to the light sources. Radiosity simulates the diffuse propagation of light starting at the light sources.


Ray Tracing

This method is very good at simulating specular reflections and transparency, since the rays that are traced through the scenes can be easily bounced at mirrors and refracted by transparent objects. The following scenes were generated with ray tracers developed at our institute.


The last scene with the black monitor contains some diffuse reflection on the screen. This scene was very time consuming to calculate, since ray tracing is not very well suited for calculating diffuse reflections.


Radiosity

Calculating the overall light propagation within a scene, for short global illumination is a very difficult problem. With a standard ray tracing algorithm, this is a very time consuming task, since a huge number of rays have to be shot. For this reason, the radiosity method was invented. The main idea of the method is to store illumination values on the surfaces of the objects, as the light is propagated starting at the light sources.

Deterministic radiosity algorithms, which have been used for radiosity for quite some time, are too slow for calculating global illumination for very complex scenes. For this reason, stochastic methods were invented, that simulate the photon propagation using a Monte Carlo type algorithm.

At our institute we improved the speed of this type of stochastic method by introducing a new algorithm called Stochastic Ray Method. Using the same amount of CPU time, our new algorithm (right image) performs visibly better than the standard Monte Carlo radiosity (left image). Further information is given in the technical report The Stochastic Ray Method for Radiosity


left: standard Monte Carlo method, right: new Stochastic Ray method

Another technique, that has been explored at our institute, is Galerkin radiosity. In standard radiosity, the radiosity (illumination) is assumed to be constant over each surface element. The Galerkin method uses orthonormal functions to represent the radiosity over each surface element.

A method of calculating Galerkin radiosity using a Monte Carlo algorithm has been developed at our institute. This makes it possible to include some effects, that are known from raytracing, like mirrors and transparency, into scenes calculated with radiosity:

It is also possible to combine radiosity with ray tracing using a two pass method. We developed such a an algorithm that handles diffuse as well as specular reflections and transparency:


left: result of raytracing step, middle: result of radiosity step, right: result of the combined method

In order to use a Monte Carlo radiosity method, it is normally necessary to split the surfaces into small surface elements before calculating global illumination. This process is called meshing. Since the accuracy of the solution depends on the quality of the calculated mesh, it is important to generate a mesh that is adapted to the global illumination of the scene. Generating a good mesh in advance can therefore be only guesswork.

In our latest development we explore the generation of hierarchical meshes during the calculation of global illumination. Again we use our stochastic Galerkin method as a basis. The following images were generated using a mesh that was specified in advance (left image) and an adaptively generated mesh (right image). It is obvious that new method reduces the variance (noise) in the final image. In addition to that, the number of surface elements that are needed to represent the scene is drastically reduced. Further information is given in the technical report A Hierarchical Subdivision Algorithm for Stochastic Radiosity Methods


left: meshed in advance, right: adaptively generated mesh


Institute of Computer Graphics / Visualization and Animation Group / Research

This page is maintained by Robert F Tobler. It was last updated on September 30, 1997.
If you have any comments, please send a message to rft@cg.tuwien.ac.at.