BI-DIRECTIONAL PATH TRACING. Eric P. Lafortune, Yves D. Willems. Katholieke Universiteit Leuven. Celestijnenlaan 200A, 3001 Leuven, Belgium

Similar documents
Reducing the Number of Shadow Rays. in Bidirectional Path Tracing. Department of Computer Science, Katholieke Universiteit Leuven

The Rendering Equation and Path Tracing

Global Illumination The Game of Light Transport. Jian Huang

Global Illumination using Photon Maps

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

Rendering Participating Media with Bidirectional Path Tracing

Θ x Θ x Θ. y Detector. Detector y

Illumination Algorithms

Recent Advances in Monte Carlo Offline Rendering

Local vs. Global Illumination & Radiosity

The Rendering Equation & Monte Carlo Ray Tracing

Path Tracing part 2. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017

A Brief Overview of. Global Illumination. Thomas Larsson, Afshin Ameri Mälardalen University

MIT Monte-Carlo Ray Tracing. MIT EECS 6.837, Cutler and Durand 1

Computer Graphics. Lecture 13. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura

2/1/10. Outline. The Radiance Equation. Light: Flux Equilibrium. Light: Radiant Power. Light: Equation. Radiance. Jan Kautz

in order to apply the depth buffer operations.

A Framework for Global Illumination in Animated Environments

Today. Anti-aliasing Surface Parametrization Soft Shadows Global Illumination. Exercise 2. Path Tracing Radiosity

Raytracing & Epsilon. Today. Last Time? Forward Ray Tracing. Does Ray Tracing Simulate Physics? Local Illumination

Global Illumination and Radiosity

Global Illumination with Glossy Surfaces

THE goal of rendering algorithms is to synthesize images of virtual scenes. Global illumination

Mathematical Models and Monte Carlo Algorithms for Physically Based Rendering

Computer Graphics. Lecture 10. Global Illumination 1: Ray Tracing and Radiosity. Taku Komura 12/03/15

Schedule. MIT Monte-Carlo Ray Tracing. Radiosity. Review of last week? Limitations of radiosity. Radiosity

Parallel Visibility Computations for Parallel Radiosity W. Sturzlinger and C. Wild Institute for Computer Science, Johannes Kepler University of Linz,

A Survey of Radiosity and Ray-tracing. Methods in Global Illumination

Global Illumination CS334. Daniel G. Aliaga Department of Computer Science Purdue University

rendering equation computer graphics rendering equation 2009 fabio pellacini 1

lens aperture light deterministic step pixel importance radiance source source -1 y 1 y

The Rendering Equation. Computer Graphics CMU /15-662

Introduction. Chapter Computer Graphics

The Rendering Equation. Computer Graphics CMU /15-662, Fall 2016

CS770/870 Spring 2017 Radiosity

Choosing the Right Algorithm & Guiding

Global Illumination. CMPT 361 Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller

z ω Lines of constant L

Interactive Rendering of Globally Illuminated Glossy Scenes

Physically Realistic Ray Tracing

Distribution Ray Tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

CS770/870 Spring 2017 Radiosity

Monte Carlo Ray Tracing. Computer Graphics CMU /15-662

Reading. 8. Distribution Ray Tracing. Required: Watt, sections 10.6,14.8. Further reading:

Global Illumination. Why Global Illumination. Pros/Cons and Applications. What s Global Illumination

Anti-aliasing and Monte Carlo Path Tracing. Brian Curless CSE 557 Autumn 2017

Final Project: Real-Time Global Illumination with Radiance Regression Functions

Discussion. Smoothness of Indirect Lighting. History and Outline. Irradiance Calculation. Irradiance Caching. Advanced Computer Graphics (Spring 2013)

Anti-aliasing and Monte Carlo Path Tracing

Anti-aliasing and Monte Carlo Path Tracing. Brian Curless CSE 457 Autumn 2017

Lecture 12: Photon Mapping. Biased Methods

11/2/2010. In the last lecture. Monte-Carlo Ray Tracing : Path Tracing. Today. Shadow ray towards the light at each vertex. Path Tracing : algorithm

INFOGR Computer Graphics. J. Bikker - April-July Lecture 10: Ground Truth. Welcome!

Path differentials and applications

Monte-Carlo Ray Tracing. Antialiasing & integration. Global illumination. Why integration? Domains of integration. What else can we integrate?

GAMES Webinar: Rendering Tutorial 2. Monte Carlo Methods. Shuang Zhao

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

The V-Ray installer will automatically remove any previous installations. This will allow you to seamlessly upgrade from previous versions.

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome!

Lecture 7 - Path Tracing

Reading. Distribution Ray Tracing. BRDF, revisited. Pixel anti-aliasing. ω in. Required: Shirley, section Further reading:

Global Illumination. COMP 575/770 Spring 2013

To Do. Advanced Computer Graphics. Course Outline. Course Outline. Illumination Models. Diffuse Interreflection

Monte Carlo Ray-tracing and Rendering

Motivation. Advanced Computer Graphics (Fall 2009) CS 283, Lecture 11: Monte Carlo Integration Ravi Ramamoorthi

Lightscape A Tool for Design, Analysis and Presentation. Architecture Integrated Building Systems

CSE 681 Illumination and Phong Shading

Anti-aliasing. Images and Aliasing

ANTI-ALIASED HEMICUBES FOR PERFORMANCE IMPROVEMENT IN RADIOSITY SOLUTIONS

Biased Monte Carlo Ray Tracing

Implementation of Bidirectional Ray Tracing Algorithm

Philipp Slusallek Karol Myszkowski. Realistic Image Synthesis SS18 Instant Global Illumination

Motivation: Monte Carlo Rendering. Sampling and Reconstruction of Visual Appearance. Caustics. Illumination Models. Overview of lecture.

Photon Mapping. Michael Doggett Department of Computer Science Lund university

Realistic Image Synthesis

Paths, diffuse interreflections, caching and radiometry. D.A. Forsyth

Improved Radiance Gradient Computation

IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 9, NO. 3, JULY-SEPTEMBER Adjoints and Importance in Rendering: An Overview

A NEW APPROACH OF DENSITY ESTIMATION FOR GLOBAL ILLUMINATION

which allow for a physically-based representation of the reectance and light emission models and how these shaders can make the necessary information

The Rendering Equation Philip Dutré. Course 4. State of the Art in Monte Carlo Global Illumination Sunday, Full Day, 8:30 am - 5:30 pm

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Global Illumination and Monte Carlo

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Monte Carlo Integration of The Rendering Equation. Computer Graphics CMU /15-662, Spring 2017

Ryan Gunther. rtcgunth I.D

Distribution Ray Tracing

CS 5625 Lec 2: Shading Models

COMPUTER GRAPHICS COURSE. LuxRender. Light Transport Foundations

Computer Graphics Global Illumination

CS580: Ray Tracing. Sung-Eui Yoon ( 윤성의 ) Course URL:

Reusing Shading for Interactive Global Illumination GDC 2004

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Advanced Graphics. Global Illumination. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Radiosity. Early Radiosity. Page 1

Virtual Spherical Lights for Many-Light Rendering of Glossy Scenes

Core ideas: Neumann series

I have a meeting with Peter Lee and Bob Cosgrove on Wednesday to discuss the future of the cluster. Computer Graphics

EECS 487: Interactive Computer Graphics

Transcription:

BI-DIRECTIONAL PATH TRACING Eric P. Lafortune, Yves D. Willems Department of Computing Science Katholieke Universiteit Leuven Celestijnenlaan 200A, 3001 Leuven, Belgium Eric.Lafortune@cs.kuleuven.ac.be ABSTRACT In this paper we presentanewmonte Carlo rendering algorithm that seamlessly integrates the ideas of shooting and gathering power to create photorealistic images. The algorithm can be explained as a generalisation of the well-known path tracing algorithm. Test results show that it performs signicantly better for typical indoor scenes where indirect lighting is important. Key Words: Rendering and visualisation global illumination and photorealistic rendering. INTRODUCTION Both the eyepoint of the viewer and the set of primary s in a scene have always been identied as being important for solving the global illumination problem to create a realistic rendering. Some algorithms such asray tracing are entirely built around the importance of the viewing point. Other algorithms such as the progressive radiosity method put a great emphasis on the contributions of the s. Ideally one would want an algorithm whichtakes into account the importance of both the s and the viewing point. In this paper we will present a new Monte Carlo algorithm which treats s and the viewing point on an equal basis. RELATED WORK An important milestone in the development of the global illumination theory for computer graphics was the introduction of the radiosity method by Goral et al. [Goral et al.84]. Originally developed within the eld of heat transfer it is based on the energy equilibrium between diuse emitters and reectors of radiative energy such as heat or light. It requires the scene to be discretised into patches or elements and as such it is a nite element method. The radiosity solution is viewindependent the solution does not take into account the eventual viewpoint. Smits et al. [Smits et al.92] introduced the notion of importance and adapted the radiosity algorithm to tune the solution towards the nal rendering. Their progressive radiosity algorithm shoots light from the s and importance from the viewpoint. In [Kajiya86] Kajiya presented the rendering equation and introduced path tracing as a Monte Carlo algorithm to solve it. The idea is to sample the ux through the pixels, gathering light by following all light paths back to the s. As such itisentirely viewdependent. Various other algorithms are based on the same principle [Cook et al.84, Shirley90]. Monte Carlo techniques are capable of handling the most general class of lighting eects but are generally slow to converge.

light path shadow rays eye path Figure 1: A schematic representation of the bi-directional path tracing algorithm. Most research on the global illumination problem is currently directed towards twopass methods [Chen et al.91]. These compute diuse lighting components in a rst extended progressive radiosity pass and specular lighting components in a second viewdependent pass. The diuse components are computed using a deterministic method [Wallace et al.87, Ward et al.88, Sillion- Puech89, Lange91, Pattanaik-Mudur92] or a Monte Carlo technique [Feda-Purgathofer93, Pattanaik93]. The nal image including the specular reections is usually rendered using some variant of distribution ray tracing or path tracing. Some algorithms attempt to reconstruct not only the diuse component but also the directional component of the emitted light in order to nd a completely viewindependent solution of the problem [Immel et al.86, Sillion et al.91]. The main problem with the latter approach is the huge amount of storage that is required to represent the lighting function. BI-DIRECTIONAL PATH TRACING The algorithm we present diers from distribution ray tracing or path tracing in its computation of a primary estimator for the ux through each pixel. The basic idea is that particles are shot at the same time from a selected and from the viewing point, in much the same way. All hit points on the respective particle paths are then connected using shadow rays and the appropriate contributions are added to the ux of the pixel in question (Fig. 1). Using this approach various lighting contributions are taken into account, not only from primary s but in a probabilistic way also from important secondary, tertiary, etc. s. We will now present in greater detail which probability distribution functions (pdfs) govern the random walks and how the eective contributions to the ux are then calculated. It can be proven mathematically that these lead to a correct solution of the rendering equation or its adjoint formulation. Performing the random walks As shown in Fig. 2 the random walks can be written as: x 0 x 1 x 2 ::: x Nl for the light path, where x i+1 is the point seen by point x i along direction xi, and y 1 y 2 ::: y Ne;1 for the eye path, where y j+1 is the point that sees point y j along direction yj+1. The initial points and directions of the random walks have to be selected rst. Using the

x 2 x 3 light path Θ x2 Θ y1 y 1 eye path x 1 Θ x1 Θ y0 Θ x0 x 0 Figure 2: Naming conventions for x 0 x0 ::: and y xnl ;1 0 y0 ::: yne;1 to denote the light path and the eye path respectively. In this example N l equals 3 and N e equals 2. Θ x0 Θ y0 x 0 pixel Figure 3: Sampling x 0 and x0 according to the self-emitted radiance of s. naming conventions above we do this for the eye path by sampling x 0 and x0 according to the following pdf, which is based on the principle of importance sampling (Fig. 3): pdf(x x )= L e(x x ) j x N x j L with the normalisation factor of the pdf Z Z (1) L = L e (x x ) j x N x j d! x d x A x where L e (x x ) is the self-emitted radiance at point x in direction x ) and where j x N x j is the absolute value of the cosine of the angle between x and the normal vector at x. The importance sampling ensures that more light particles are shot from bright emitters and in bright directions, instead of distributing them uniformly and weighting their contributions to the ux later on. Figure 4: Sampling and y0 with respect to the pixel under consideration. Similarly we select samples and y0 for the eye path according to the following pdf (Fig. 4): pdf(y y )= g(y y) j y N y j G with the normalisation factor of the pdf Z Z (2) G = g(y y ) j y N y j d! y d y A y where g(y y ) the function is 1 for all pairs of points and directions (y y ) on the surfaces that contribute to the ux, and 0 otherwise. Once the initial points and directions have been chosen the rest of the random walks is determined by sampling the directions xi+1 and yj+1 respectively. These variables determine x i+1 and y j+2 unambiguously.

x i + 1 Θ xi + 1 Θ xi Figure 5: Sampling xi+1 according to the brdf of the surface at point x i+1 and the incoming direction xi. Θ yj Θ yj + 1 Figure 6: Sampling yj+1 according to the brdf of the surface at point y j and the incoming direction xj. The subcritical pdf (spdf) for xi+1 is chosen as follows, again on the basis of importance sampling (Fig. 5): pdf() = f r (x i+1 xi ) x N xi+1 (3) where f r (x in out ) is the bi-directional re- ection distribution function (brdf). The pdf is subcritical because it does not integrate to 1over all possible angles, at least for physically valid brdfs. The actual value of the integration gives the chance that the random walk is continued, which ensures that the random walk terminates. This technique is commonly called Russian roulette. The subcritical pdf for yj+1 is chosen in the same way (Fig. 6): pdf() = f r (y j yj ) y j y N yj (4) The random walks are independent of one another. The spdfs for the directions can be made identical simply by renaming the variables and using the bi-directional property of the brdf. This property implies that after the initialisation both random walks can be performed by a single algorithm. Estimating the ux Now that wehave shown how the stochastic variables for the integrals and for the random walks are selected we will actually evaluate the nal result. For this purpose all points on the respective random walks are linked using shadow rays. The primary estimator for the ux can then be derived as a sum of weighted partial estimates: hi = XN l N e X i=0 j=0 w ij hc ij i (5) The factors hc ij i express the estimates of the ux found by i reections on the light path and j reections on the eye path. Three cases have to be distinguished when evaluating them: i =0 j=0:hc 00 i = G L e ( y0 ) This term is an estimate for the ux received from a that is directly seen through the pixel under consideration (Fig. 7). i =0 j>0:hc 0j i = L 0 G L e (x 0 x0!y j;1) f r (y j;1 x0!y j;1 y j;1) jx 0!y j;1 Nx 0jj x0!y j;1 Ny j;1j kx 0 ;y j;1k 2 v(x 0 y j;1 ) with L 0 = L, Rx Le(x 0 x)j xn x0 jd! x where x!y is the direction from point x to point y and where v(x y) is the visibility function which is1ifpoint x sees point y and 0 otherwise. This value is found by means of the shadow raybetween point x and point y. The term is an estimate for the ux that reaches the eye from the through the eye path, as in classical path tracing (Fig. 8). i>0 j>0:hc ij i = L G f r (x i xi;1 x i!y j;1) f r (y j;1 xi!y j;1 y j;1) jx i!y j;1 Nx ijj xi!y j;1 Ny j;1j kx i ;y j;1k 2 v(x i y j;1 ) This term is an estimate for the ux that reaches the eye from the, through i reections on the light path and j reections on the eye path (Fig. 9).

y 1 C 02 Θ y1 C 01 Θ x0 Θ y0 x 0 Figure 8: The contribution hc 0j i is an estimate for the ux that reaches the eye from the light source through the eye path. x x Θ 3 x2 2 C 32 y1 C 22 Θ y1 Θ x1 C 12 C 31 x 1 C 21 C 11 Θ x0 Θ y0 x 0 Figure 9: The contribution hc ij i is an estimate for the ux that reaches the eye through both the light path and the eye path.

Θ y0 C 3, j 1 Θ yj + 1 C 00 C 2, j 1 1 Wj W j C 1, j 1 Figure 7: The contribution hc 00 i is an estimate for the ux emitted by a that is seen directly by the viewer. Selecting the weights At this point the algorithm is still generic as there are various alternatives to choose the weights w ij for the contributions hc ij i, as long as they comply with the condition that P N w i=0 i N;i =1(N =0 1 :::). This condition can be derived theoretically its physical meaning is that the sets of weights for the estimates of the uxes arriving at the eye via one, two, etc. reections respectively all have to add up to 1. One can verify that the following instantiation yields the classical path tracing algorithm: w ij = 1 for i =0 and = 0 otherwise. This selection does not fully use the information of the sampling process however. The following alternative uses both particle paths more eectively: w ij = j;2 Y k=0 W k for i =0 = 0 for j =0 and Y j;2 = ( k=0 W k )(1 ; W j ) otherwise. where the weights W j (j =0 ::: N e ; 1) still leave some degrees of freedom. The idea behind this particular choice is that at each point ontheeye path the estimates for the indirect lighting via the rest of the eye path and via the light path are weighted (Fig. 10). For specular surfaces one would rather rely on the estimate found by following the eye path. For diuse surfaces the estimate found through the contributions C 0, j 1 Θ yj Figure 10: The weights W j for the contributions via the eye path are selected proportional to the degree of specularity at point y j. The contributions arriving from the light path via the shadow rays have the weight 1 ; W j. of the light path is more likely to be important. Therefore the weight W j is chosen proportional to a measure of the degree of specularity of the surface at point y j on the eye path. For highly specular surfaces it approaches 1, for diuse surfaces it goes to 0. Tests on practical scenes haveshown that this technique greatly improves the quality of the images, especially when rendering scenes containing mirrors. Computing a secondary estimator The primary estimator of the ux will still have a large variance, which will clearly show up in the image under the form of random noise. As with all Monte Carlo methods a secondary estimator is therefore computed by averaging the results of several primary estimators for a single pixel. The variance of the eventual result will be reduced by a factor p N if N is the number of primary samples. For path tracing N reportedly typically ranges between 40 and 500, but the optimal number largely depends on the complexity of the scene and the desired accuracy. Some heuristic adaptive sampling techniques are usually applied to nd a balance between the computational work and the quality of the results. y j

IMPLEMENTATION We have implemented the bi-directional path tracing algorithm as described above. The program has been written in the programming language C on an IBM RS/6000-320. It is based on the library routines of the public domain ray tracing program `Rayshade'. The brdfs have been modeled using a Phong model which has been modied slightly as to make it reciprocal and energy-conserving. It allows the few constants in the equations and the pdfs to be computed analytically. More complicated models will in general require numerical techniques. Several optimised sampling strategies have been implemented. Importance sampling and Russian roulette have been applied as explained in the previous paragraphs. Furthermore stratied sampling has been used. This technique consists in subdividing the sampling intervals and selecting samples from each of these, instead of just selecting all samples randomly over the whole interval. The uniform samples selected in this way may be transformed into non-uniform samples, so that the technique is combined easily with importance sampling. RESULTS Based on the implementation we have performed some tests, comparing our bidirectional path tracing algorithm with classical path tracing. The largest amount ofwork in both algorithms consists in performing ray intersection tests. So in order to obtain a fair comparison approximately the same numbers of rays are used by the respective algorithms in each test. Table 1 gives an overview of the results. All images have been rendered at a resolution of 400 400 pixels. Both implementations use the optimised sampling strategies such as importance sampling, Russian roulette and stratied sampling. Neither of the algorithms performs adaptive sampling of the pixels. The scene consists of coloured diuse walls, a slightly specular oor and a mixture of opaque and transparent objects. Both algorithms accurately render typical global illumination eects such as diuse and glossy re- ections, soft shadows and colour bleeding. The results for the directly illuminated scene show little dierence between them. For the indirectly illuminated scene however our bi-directional algorithm produces visibly less noise for the same amount ofwork (it is even noticeable on the printed images, in spite of the dithering applied to produce dierent colour shades). An intuitive explanation is that the light particle paths help the indirect light to meet the eye paths halfway, thereby producing more reliable estimates and less noise. CONCLUSION We have presented bi-directional path tracing as a new Monte Carlo algorithm for physically-based rendering. It can be explained in a general theoretical framework in which the existing path tracing algorithm is a special case. Similarly to other Monte Carlo techniques the algorithm is very general: it can handle extensive classes of geometrical objects and optical properties. Diuse lighting eects, soft shadows, specular and glossy reections and refractions, and if required even depth of eld and motion blur are all simulated correctly. Anti-aliasing is integrated in a natural way. Experiments show that the algorithm performs better than path tracing for typical indoor scenes where indirect illumination is important. The method requires no meshing and thus avoids all the associated problems. Also because of this the method requires little memory. The description of the scene is accessed in a read-only fashion. Importance sampling is used extensively, reducing the variance drastically. Without adaptive sampling however convergence is rather slow. This is partly because the exact solution is sought for each pixel, as opposed to nite element methods where the eventual solution is interpolated over larger

Test Algorithm Number of samples Total number Time (sec) per pixel of rays 1 Path tr. 60 45 10 6 15 897 2 Bi-dir. path tr. 20 30 10 6 11 036 3 Path tr. 60 35 10 6 18 251 4 Bi-dir. path tr. 20 31 10 6 14 929 Table 1: Overview of the test results. surface areas most of the time. Adaptive and hierarchical techniques and ltering should help to nd a proper balance between `oversolving' and `undersolving' in the future. REFERENCES Chen, S.E., Rushmeier, H.E., Miller, G., Turner, D. 1991. A progressive multi-pass method for global illumination. In Computer Graphics, volume 25, pages 164{174. Cook, R.L., Porter, T., Carpenter, L. 1984. Distributed ray tracing. In Computer Graphics, volume 18, pages 137{145. Feda, M., Purgathofer, W. 1993. Progressive ray renement for monte carlo radiosity. In Proceedings of the Fourth Eurographics Workshop on Rendering, pages 15{25, Paris, France. Goral, C.M., Torrance, K.E., Greenberg, D.P., Battaile, B. 1984. Modelling the interaction of light between diuse surfaces. In Computer Graphics, volume 18, pages 213{222. Immel, D.S., Cohen, M.F., Greenberg, D.P. 1986. A radiosity method for non-diuse environments. In Computer Graphics, volume 20, pages 133{142. Kajiya, J.T. 1986. The rendering equation. In Computer Graphics, volume 20, pages 143{ 150. Lange, B. 1991. The simulation of radiant light transfer with stochastic ray-tracing. In Proceedings of the Second Eurographics Workshop on Rendering, Barcelona, Spain. Pattanaik, S.N., Mudur, S.P. 1992. Computation of global illumination by monte carlo simulation of the particle model of light. In Proceedings of the Third Eurographics Workshop on Rendering, pages 71{83, Bristol, UK. Pattanaik, S.N. 1993. Computational Methods for Global Illumination and Visualisation of Complex 3D Environments. PhD thesis, Birla Institute of Technology & Science, Pilani, India. Shirley,P. 1990. Physically Based Lighting Calculations for Computer Graphics. PhD thesis, University of Illinois. Sillion, F., Arvo, J.R., Westin, S.H., Greenberg, D.P. 1991. A global illumination solution for general reectance distributions. In Computer Graphics, volume 25, pages 187{ 196. Sillion, F., Puech, C. 1989. A general two-pass method integrating specular and diuse re- ection. In Computer Graphics, volume 23, pages 335{344. Smits, B.E., Arvo, J.R., Salesin, D.H. 1992. An importance-driven radiosity algorithm. In Computer Graphics, volume 26, pages 273{ 282. Wallace, J.R., Cohen, M.F., Greenberg, D.P. 1987. A two-pass solution to the rendering equation: a synthesis of ray tracing and radiosity methods. In Computer Graphics, volume 21, pages 311{320. Ward, G.J., Rubinstein, F.M., Clear, R.D. 1988. Aray tracing solution for diuse interreection. In Computer Graphics, volume 22, pages 85{92.