Radiosity for Virtual Reality Systems

by Tralvex S L, Yeap

A thesis submitted to School of Computer Studies in partial fulfilment of requirements for a degree of M. Sc. in Vision, Visualization and Virtual Environments

University of Leeds Leeds, United Kingdom

August 1997

© University of Leeds 1997

University of Leeds

Abstract

Radiosity for Virtual Reality Systems

Supervisor : Professor Graham M. Birtwistle

The synthesis of actual and computer generated photo-realistic images has been the aim of artists and graphic designers for many decades. Some of the most realistic images were generated using radiosity techniques. Unlike ray tracing, radiosity models the actual interaction between the and its environment. In photo realistic Virtual Reality (VR) environments, the need for quick feedback based on user actions is crucial. It is generally recognised that traditional implementation of radiosity is computationally very expensive and therefore not feasible for use in VR systems where practical data sets are of huge complexity.

To achieve photo-realism in images, we look into what radiosity can offer and the current state of art by doing a radiosity trend analysis. In addition, we also review several acceleration techniques which are suitable for applying radiosity in the synthesis of VR environments.

Finally, we introduce two new methods and several hybrid techniques to the radiosity research community for using radiosity in VR applications. Acknowledgements

This thesis would have been mission impossible if not for all those mentioned here. Many many thanks to:

Ian Ashdown, an advisor as well as a friend whom I met on the Internet for sharing his knowledge in radiosity as well as his wide bibliographic collection on radiosity literature (more than 1100 papers). This has allowed me to do a radiosity trends analysis based on his bibliography as well as speeding up my search for specific paper.

Prof. Donald P. Greenberg, Prof. Philip M. Hubbard, Dr. Al Z, Dr. Brian Smits, Dr. Eric Lafortune, Dr. Erik Robson, Dr. Luc Renambot, Dr. Neil Gatenby, Dr. Sumant Pattanaik, Ali Anghaie, Antonio Costa, Abraham Kee, Defee Pawel, Erik Robson, Gregory Ward, Ian Ashdown, Luc Renambot, Martin Thompson, Neil Gatenby, Rakesh Malik, Rob Love, Terrance Wong, Wim Dumon who took part in the survey correspondences on radiosity, sharing their practical experiences and knowledge.

Graham Birtwistle for recommending Brian and Prezemek since day 1 of this thesis. Thanks for being a wonderful supervisor and for proof-reading all the drafts. I am always amazed by his creativity such as his suggestions on doing a trends analysis, the idea on thesis road maps, the compilation on "Selected Papers on Radiosity" book and many other brilliant recommendations. Wow!

Tracy Goh, my beloved fiancee for devoting enormous amount of time and effort in proof-reading the drafts and also for her unlimited love and support throughout the M. Sc. programme, which kept me emotionally strong and going.

Dennis Bell (MA in Education) and Azman Said (was an English teacher now doing MA in Mass Communication) for proof-reading my drafts.

Dan Yeap for working on the SysEng logo (back in 1995) and correspondences on Computer Graphics - rendering aspects and the more complicated part of 3D Studio v4.0.

Ken Brodlie and Terence Fernando for introducing me to the theoretical world of Scientific Visualisation and Advanced Computer Graphics, which otherwise I would be still stuck in the hacking world of CG!

Ong Lee Haw and Lim Huiling for beta-testing the web materials in the CDROM using various web browers.

Stuart Butterfield and Neil Sumpter for helping me out with the camcorder and the CDROM authoring.

SCS Support for rendering their unlimited help and support in terms of the computing facilities.

Brian Wyvill for giving me the initial boost by showing my where to find good sources of information for Computer Graphics - Radiosity materials, in particular works by Donald P. Greenberg.

Przemek Prusinkiewicz for recommending useful books on radiosity since day 1.

Neo Kwakwa (reading MSc in Combustion and Energy, LU) who shared with me, his knowledge in radiative concepts and materials.

Defence Science Organisation for expressing their interest in my thesis, which inspired me to do an even better thesis!

Classic FM UK Radio Broadcasting station for supplying me unlimited doses of excellent classical music to boost my brain power and inspiration for this thesis and the M. Sc. programme!

Mary Morris (place where I stayed) M flat shower room, where many knotty problems in the understanding of radiosity were solved. Very eerie but true. Contents

1 Introduction 1 1.1 Overview ...... 1 1.2 Goal of This Work ...... 1 1.3 Organisation of Thesis ...... 2 1.4 Research Methods ...... 3 1.5 Our Contributions ...... 3

2 and 4 2.1 Introduction ...... 4 2.2 Mathematics Preliminary ...... 5 2.2.1 Solid Angles ...... 5 2.3 Radiometry ...... 6 2.3.1 ...... 7 2.3.2 Radiant (Radiant Power) ...... 7 2.3.3 and ...... 8 2.3.4 ...... 8 2.3.5 ...... 9 2.4 Photometry ...... 10 2.4.1 Luminous energy ...... 11 2.4.2 Luminous Flux ...... 11 2.4.3 Illuminance and Luminous Exitance ...... 11 2.4.4 Luminous Intensity ...... 11 2.4.5 Luminance ...... 12 2.5 Summary ...... 12

3 Traditional Illumination and Shading Models 13 3.1 Introduction ...... 13 3.2 Illumination Models ...... 14 3.2.1 Ambient Reflection...... 14 3.2.2 Diffuse Reflection ...... 14 3.2.3 Specular Reflection ...... 15 3.3 Shading Models ...... 15 3.3.1 Flat Shading ...... 15 3.3.2 Gouraud Shading ...... 16 3.3.3 Phong Shading ...... 16 3.3.4 Ray Tracing ...... 17 3.4 Summary ...... 17

4 Radiosity Principles 18 4.1 Introduction ...... 18 4.1.1 Lambertian Surfaces ...... 19 4.2 Radiosity Rendering Pipeline ...... 21 4.3 Meshing the Environment ...... 21 4.3.1 Uniform Mesh ...... 22 4.3.2 Higher Density Uniform Mesh ...... 23 4.3.3 Non-uniform Mesh ...... 23 4.4 The Radiosity Equation ...... 24 4.4.1 Concept of Form Factor ...... 24 4.4.1.1 Form Factors between Differential Areas ...... 25 4.4.1.2 Form Factors between Finite Area Patches ...... 26 4.4.1.3 Reciprocity Relationship between Form Factors . . . . . 27 4.4.1.4 Summation Relation ...... 27 4.4.1.5 Assumptions ...... 27 4.4.2 Form Factor Computation using Hemicube ...... 28 4.5 The Radiosity Equation Revisited ...... 29 4.6 Summary ...... 30 5 Radiosity Trend Analysis 31 5.1 Introduction ...... 31 5.2 Trend Analysis ...... 32 5.3 Literature Review ...... 33 5.3.1 Class R Literature Review ...... 33 5.3.2 Class S Literature Review ...... 34 5.3.3 Class H Literature Review ...... 35 5.3.4 Class V Literature Review ...... 36 5.4 Summary ...... 36

6 Accelerated Techniques for Radiosity 37 6.1 Introduction ...... 37

6.1.1 What is Virtual Reality? ...... 38

6.2 Extended Radiosity Pipeline ...... 38 6.3 Accelerated Techniques for Surface Meshing Stage ...... 39 6.3.1 Adaptive Meshing ...... 39 6.3.2 Radiosity Textures ...... 40 6.4 Accelerated Techniques for Form Factor Computation Stage ...... 42 6.4.1 Monte Carlo Methods for Radiosity ...... 43 6.5 Accelerated Techniques for Solving Radiosity Equation Stage . . . . . 45 6.5.1 Progressive Radiosity ...... 45 6.5.2 Parallel Progressive Radiosity ...... 47 6.6 Accelerated Techniques for Virtual Reality Engine Stage ...... 49 6.7 Summary ...... 49 7 Novel Approaches for VR Applications 50 7.1 Introduction ...... 50 7.2 First Novel Approach ...... 51 7.2.1 Background: Progressive Meshes ...... 52 7.2.2 Progressive Meshes Progressive Radiosity ...... 53 7.2.3 A Parallel Solution for PMPR ...... 56 7.2.4 Potential Hybrids ...... 58 7.3 Second Novel Approach ...... 60 7.3.1 Background: Point Distribution Model ...... 61 7.3.2 Background: Neural Networks...... 62 7.3.3 Motion Prediction with PDM ...... 63 7.3.4 Potential Hybrids ...... 66 7.4 Summary ...... 66

8 The Road Ahead and Conclusion 66 8.1 Introduction ...... 66 8.2 The Road Ahead ...... 67 8.3 Contributions ...... 70 8.4 Future Work ...... 71

A Colour Figures 72

B Radiosity Survey Results 79 B.1 Introduction ...... 79 B.2 Results ...... 80 B.2.1 Is radiosity your preferred solution for generating realistic images? Why? If not, what are yours? ...... 80 B.2.2 What are the radiosity renderers in the market? ...... 82 B.2.3 What are the efficient ways to speed up computation of radiosity? . . 82 B.2.4 What are the alternatives which produce better quality images than radiosity, or in general, for global illumination solutions? . . . . . 83 B.2.5 Where are the good places to look for radiosity resources? . . . . . 84 B.2.6 What is the future for radiosity in computer graphics? ...... 84 B.3 Actual Email Message Questionnaire/Survey ...... 86

C Radiosity Illustrations 87 C.1 Illustrations ...... 87

D Walk-throughs Screen Snapshots 90 D.1 Introduction ...... 90 D.1.1. Initial Stage Snapshots ...... 90 D.1.2 One-third Stage Snapshots ...... 91 D.1.3 Two-third Stage Snapshots ...... 91 D.1.4 Final Stage Snapshots ...... 92

E Contents of Book - “Selected Papers on Radiosity” 93

F Contents of CDROM 97

Bibliography List of Figures

1.1 Thesis Road Map...... 2

2.1 Chapter 2 Road Map...... 4 2.2 (a) A two dimensional circle with angle, q. (b) A three-dimensional sphere with solid angle, w...... 5 2.3 A ray of light intersecting a surface ...... 6 2.4 (a) Irradiance. (b) Radiant exitance...... 8 2.5 (a) Radiance (arriving). (b) Radiance (leaving)...... 9 2.6 Luminous efficiency function...... 10

3.1 Chapter 3 Road Map...... 13 3.2 Spheres shaded showing variation of magnitude in ambient component over the surface of each sphere...... 14 3.3 Spheres shaded showing variation of magnitude in diffuse component over the surface of each sphere...... 14 3.4 Spheres shaded showing variation of magnitude in specular component over the surface of each sphere...... 15 3.5 Toy duck using flat shading...... 15 3.6 Toy duck using Gouraud shading...... 16 3.7 Toy duck using Phong shading...... 16 3.8 Ray traced Glasses...... 17

4.1 Chapter 4 Road Map...... 18 4.2 Design Studio of the Future (a) Actual photo. (b) Radiosity image...... 19 4.3 Reflection from a Lambertian surface...... 20 4.4 Graphics Pipeline for Radiosity...... 21 4.5 A room with a chair in patches. Scene generated using Helios...... 21 4.6 (a) Uniform mesh. (b) Uniform mesh, with shaded errors...... 22 4.7 (a) Higher density uniform mesh. (b) Higher density uniform mesh, with shaded errors...... 23 4.8 (a) Non-uniform mesh. (b) Non-uniform mesh, with shaded errors...... 23

4.9 Patch Ej receiving flux Fij from patch Ei...... 25 4.10 Form factor geometry between two differentiate patches...... 25

4.11 Form factor FdEi-Ej determination by area integration over Ej...... 26

4.12 Form factor FEi-Ej determination by area integration over Ei and Ej...... 26 4.13 (a) Planar surface. (b) Convex surface. (c) Concave surface...... 27

4.14 Projecting patch Ej onto the cells of a hemicube...... 28

5.1 Chapter 5 Road Map...... 31 5.2 Graph Plot of Radiosity Trend Analysis...... 32

6.1 Chapter 6 Road Map...... 37 6.2 Extended Graphics Pipeline for Radiosity...... 38 6.3 Acceleration Techniques for Surface Meshing Stage...... 39 6.4 (a) Low density mesh. (b) Adaptive Mesh...... 39 6.5 Algorithm: Adaptive meshing...... 40 6.6 Converting a mesh into uv-space to generate a texture map...... 40 6.7 Rex node data structure modified to C++ like structure...... 41 6.8 Frame rates comparison for Adaptive mesh vs Texture Mapping for radiosity computation...... 41 6.9 Acceleration Techniques for Form Factor Computation Stage...... 42 6.10 Analytic/Traditional emission of energy...... 43 6.11 Monte Carlo simulation in the emission of energy; exitance, reflection and absorption of light using Monte Carlo methods. Initial Ray from floor contains 24J of power and each patch have two pairs of number. The left value is its radiance and the right value is unshot energy...... 43 6.12 Algorithm: Monte Carlo Radiosity...... 44 6.13 Acceleration Techniques for Solving Radiosity Equation Stage...... 45 6.14 Traditional and Progressive Refinement. (a) Traditional Gauss-Seidel iteration of 1, 2, 24 and 100. (b) Progressive Refinement (PR) iteration of 1, 2, 24 and 100 (c) PR + Ambient factor iteration of 1, 2, 24 and 100...... 46 6.15 Convergence plots for three radiosity methods...... 47 6.16 Algorithm: Progressive Radiosity...... 47 6.17 Algorithm: Parallelized Progressive Radiosity...... 48 6.18 Distribution of 4 processors over 16 elements in a patch...... 48 6.19 Acceleration Techniques for VR Engine Stage...... 49 7.1 Chapter 7 Road Map...... 50 7.2 First Novel Approach: Progressive Meshes Progressive Radiosity...... 51 7.3 Illustration of vertex split and edge collapse...... 52 7.4 Mesh simplification of radiosity solution. Left: Original image using mesh with 150,983 polygons, middle: image using simplified mesh with 10,000 faces, right: simplified mesh...... 53 7.5 Six snapshots of Progressive Radiosity rendered scene...... 53 7.6 Nine Snapshots of Progressive Meshes Progressive Radiosity rendered scene. . . . 54 7.7 PMPR Scene with Selective Refinement. (a) User is looking at the right paintings while walking forward. (b) User is looking at the ceiling while walking forward...... 54 7.8 Algorithm: Progressive Meshes Progressive Radiosity...... 55 7.9 Nine Snapshots of Parallized PMPR rendered scene...... 56 7.10 Algorithm: Parallized Progressive Meshes Progressive Radiosity...... 57 7.11 Second Novel Approach: Motion Prediction with PDM...... 60 7.12 Image sequences and PDM. Landmarks in (f) is based on (e)...... 61 7.13 Prediction of path(s) a user is going to take...... 62 7.14 Plan perspective of several walk-throughs in SCS Foyer...... 63 7.15 Reconstruction of route using B-spline. (a) Original path, with black dots refers to control points for reconstruction, gray route refers to original path. (b) Reconstructed path (black curves) based on control points in grey dots. (c) Overlay of original route (grey route) and constructed route in black...... 64 7.16 Prediction of a simple path...... 64 7.17 Prediction of several complex paths...... 65

8.1 Chapter 8 Road Map...... 67 List of Tables

2.1 Fundamental Radiometric quantities...... 7 2.2 Fundamental Photometric quantities...... 10 5.1 Radiosity Trends Analysis...... 32 7.1 Seventy-two Potential Radiosity Hybrids...... 59 7.2 Selected paths based on Number of Processor, type of Strategy and the list of predicted paths...... 65 8.1 List of Radiosity related Papers Presented on Various ’97 Conferences...... 68

Radiosity for VR Systems University of Leeds Chapter 1

Introduction

1.1 Overview

For the past three decades, computer graphics (CG) researchers have been pursuing the goal in the synthesis of photo-realistic images. Most techniques [Bouknight, 1970][Gouraud, 1971][Phong, 1975] including ray tracing are ad hoc approaches that do not model the physical aspects of light- environment interaction.

Radiosity for CG was first introduced by researchers at Program of Computer Graphics at Cornell University [Goral et al., 1984] and Fukuyama and Hiroshima University [Nishita et al., 1985]. The study of radiosity arose from the field of radiative heat transfer, and was first developed in the 1950s for computing radiant interchange between surfaces [Siegel et al., 1992] and was used for applications such as radiative transfer between panels on spacecraft.

The radiosity method was further developed to account for the interaction of diffuse reflection between objects in scenes. Later research has extended the classical limitations of the original radiosity solution to include glossy, mirror reflection [Immel et al., 1986][Sillion et al., 1986][Sillion et al., 1989][Wallace et al., 1987] and even participating media such as smoke and haze [Rushmeier et al., 1990].

1.2 Goals of This Work

A survey in Ashdown’s bibliographic collection [Ashdown, 1997] of radiosity related literature - over eleven hundred since 1900 - revealed that less than two percent (Figure 1.1) of the work explicitly addressed the issue of applying radiosity to Virtual Reality applications. Such research was directed in the long term towards the development of quick and efficient use of radiosity in VR systems, where quick means user feedback of less than 50 milliseconds delay between computation of scenes and efficient means low usage of memory and computing power. Realisation of these goals is years away, but the hope is that this thesis would contribute towards those goals in a few ways; by

T S L Yeap Page 1 Radiosity for VR Systems University of Leeds reviewing and suggesting existing radiosity techniques which may or may not have been applied to VR applications and introducing two novel techniques not yet applied to radiosity for VR applications.

1.3 Organisation of Thesis

This thesis comprises eight chapters (Figure 1.1). The first chapter gives an introduction to radiosity and the scope of the thesis. Chapter 2 covers the basis of radiosity; that is the understanding of light; radiometry and photometry. Chapter 3 covers traditional illumination and shading models. Chapter 4 covers radiosity principles. Chapter 5 studies radiosity trends in detail with a literature review. Chapter 6 provides a review of previous works that accelerate radiosity solution (both software and hardware approaches) that may be suitable for VR applications. Chapter 7 reveals some of our novel approaches to accelerate radiosity solution for VR applications and the concluding chapter summaries our contributions and looks at the future of radiosity.

Figure 1.1 Thesis Road Map.

Chapter 1 Introduction

Chapter 2 Chapter 5 Radiometry Radiosity and Photometry Trends Analysis

Chapter 3 Traditional Illumination Class Class Class Class and Shading Models R S H V

Chapter 4 Chapter 6 Radiosity Principles Acceleration Techniques for Radiosity Computation

Chapter 7 Novel Approaches for VR Applications

Chapter 8 The Road Ahead and Conclusion

T S L Yeap Page 2 Radiosity for VR Systems University of Leeds

1.4 Research Methods

Literature search was done on established CG bibliographies database website [Siggraph, 1997][UNICE, 1997][Waikato, 1997][Hensa, 1997]. In addition, Siggraph and Computer Graphics Forum proceedings in Edward Boyle library were excellent sources of reference. CDROMs such as Inspec, Dissertation Abstract, MathSci, CRIB (Current Research in Britain) and Computer Select were also utilised. In addition, various CG software packages such as 3D Studio, Persistence of Vision, Helios, Radiance, RaySmith were used to generate and test the images.

Radiosity trends analysis was done in order to gain appreciation on the development of radiosity in the research community. Furthermore, a survey was carried out over Usenet newsgroups, University of Leeds newsgroups and individual electronic mail to specific researcher during the period of April- July 1997. This allows us to obtain opinions and insight on specific subject areas that were covered in this thesis.

1.5 Our Contributions

Most of the papers and publications presented to date focus more on the synthesis of photo-realistic images. Our main contributions are:

· Trend analysis of radiosity research -- the first to be carried out in the community.

· Introduction of first original technique - Progressive Mesh Progressive Radiosity for VR applications.

· Presentation of second novel technique - Motion Prediction with Point Distribution Model - in which the radiosity rendering pipeline is extended by a VR Stage (Chapter 6). These techniques were extensively used by researchers from Vision Group (University of Leeds) in machine vision applications [Baumberg et al., 1993][Shen X et al., 1993][Baumberg et al., 1994] [Baumberg et al., 1995][Shen X et al., 1995][Johnson, 1995][Sumpter et al., 1997].

T S L Yeap Page 3 Radiosity for VR Systems University of Leeds Chapter 2

Radiometry and Photometry

2.1 Introduction

In order to understand radiosity, we must understand and know how to measure light. This chapter (figure 2.1) introduces the terms in radiometry and photometry.

Figure 2.1 Chapter 2 Road Map.

2.1 Introduction

2.2 Mathematics Preliminary Chapter 1 Introduction 2.2.1 Solid Angles

2.3 Radiometry Chapter 2 Chapter 5 Radiometry Radiosity 2.3.1 Radiant Energy and Photometry Trends Analysis 2.3.2 (Radiant Power) Chapter 3 Class Class Class Class 2.3.3 Irradiance and Radiance Traditional Illumination R S H V Exitance and Shading Models 2.3.4 Radiant Intensity Chapter 6 Chapter 4 Acceleration Techniques 2.3.5 Radiance Radiosity Principles for VR Applications 2.4 Photometry Chapter 7 2.4.1 Luminous Energy Novel Approaches for 2.4.2 Luminous Flux VR Applications 2.4.3 Illminance and Luminous Chapter 8 Exitance The Road Ahead 2.4.4 Luminous Intensity and Conclusion 2.4.5 Luminance

2.4 Summary

The earliest hypothesis was that space was filled with ‘ether’, and that light was propagated through ether much as sound travels through solids. However, this theory does not fit all known facts. Aristotle (384-322 B.C.) suggested the corpuscular theory; that light was propagated by streams of small corpuscles. In the nineteenth century, Maxwell and others showed that electromagnetic had many properties of light. However, this did not explain how the small amount of energy in a travelling wave could cause the expulsion of electrons from photosensitive materials. Finally, Planck and Einstein revived the corpuscular theory to explain the photoelectric effect. They

T S L Yeap Page 4 Radiosity for VR Systems University of Leeds reasoned that light could be radiated and absorbed discontinuously in discrete bundles of energy, known as photons. Radiosity models light [Ashdown, 1994] and light is a form of radiant energy [Freeman, 1990] or electromagnetic radiation, ranging from radio waves (long wavelength), microwaves, infra-red, visible light, ultra-violet, x-rays to gamma rays (short wavelength).

Radiometry is the discipline concerned with measurements of electromagnetic energy within the optical spectrum [Stimson, 1974]. This part of the spectrum includes infrared, visible and ultraviolet light, while photometry is the science of measuring visible light in units that are weighed according to the sensitivity of the human eye [Ashdown, 1995].

2.2 Mathematics Preliminary

This section provides some mathematics that will be used in subsequent sections. Fundamentals of geometry, elementary calculus and matrix theory are assumed.

2.2.1 Solid Angle

The concept of solid angles is important as the environment we are dealing with is three dimensional.

A solid angle w, is the three-dimensional analogy to a two dimensional angle q. In two dimension, q equals to 1 if c is equal to r and is defined as one radian. Its circumference is 2pr, and there are 2p radians in a circle (Figure 2.2a and 2.2b).

Figure 2.2a A two dimensional circle with angle, Figure 2.2b A three-dimensional sphere with q. Redrawn from [Ashdown, 1994]. solid angle, w. Adapted from [Ashdown, 1994].

T S L Yeap Page 5 Radiosity for VR Systems University of Leeds

Similarly, in three dimension, w equals to 1 if A = r 2 and is defined as one . There are 4p in a sphere.

Considering that the ray intersects the surface at an angle, if the area of intersection with the surface has a differentiate cross-section area dA, the cross-section area of the ray is dAcosq, where q is the angle between the ray and the surface normal (see Figure 2.3). This ray cross-section area dAcosq is also known as projected area of the ray-surface intersection area dA or DA.

Figure 2.3 A ray of light intersecting a surface. Adapted from [Ashdown, 1995].

2.3 Radiometry

Radiometry is the discipline concerned with measurements of electromagnetic energy within the optical spectrum [Stimson, 1974].

This section will lay out the important terms and definitions used in radiometry that are useful in radiosity. We will revisit some of these terms and definitions in subsequent chapters,.

T S L Yeap Page 6 Radiosity for VR Systems University of Leeds

The set of fundamental quantities concerned with the measurement of the light energy is summarised in Table 2.1.

Table 2.1 Fundamental Radiometric quantities [Grum et al., 1979]. Quantity Symbo Defining Equation Units Eqn. l No.

Radiant energy Q, Qe J () (2.1)

Radiant power or flux F, F e F = dQ / dt W () (2.2) - 2 Irradiance E, Ee E = dFin / dA W m (2.3) - 2 Radiant exitance M, Me M = dFout / dA W m (2.4) - 1 Radiant intensity I, Ie I = dF / dw W sr (2.5)

2 Radiance L, Le L = d F / dw (dAcosq) (2.6) = dI / (dAcosq) W m - 2 sr - 1

2.3.1 Radiant Energy

Radiant energy, Q is light. It is propagated in the form of electromagnetic waves. When light is absorbed by an object, its energy is converted into another form. Visible light is transformed into kinetic energy when it causes an electric current to flow in a photographic light meter.

Radiant energy is measured in or J.

2.3.2 Radiant Flux (Radiant Power)

Radiant flux, F is the rate of change of its radiant energy with respect to time.. Mathematically, the definition of radiant flux is:

F = dQ / dt where dQ is differential amount of radiant energy and t is time. Radiant flux is measured in or w. The unit of measurement for power is in watts and radiant flux is thus also known as radiant power.

T S L Yeap Page 7 Radiosity for VR Systems University of Leeds

2.3.3 Irradiance and Radiant Exitance

Irradiance, E is the radiant flux per unit area at a point on a surface that is arriving from any direction above the surface. The definition of irradiance is:

E = dFin / dA

In other words, irradiance is the rate of change of its power with respect to area. A visualisation of irradiance is Figure 2.4a. Irradiance is measured in watts power per square meter or W m - 2.

Figure 2.4a Irradiance. Redrawn from [Ashdown, 1995]. Figure 2.4b Radiant exitance. Redrawn from [Ashdown, 1995].

dA dA

Radiant exitance, M is the radiant flux per unit area at a point leaving the surface (Figure 2.4b). The definition of radiant exitance is:

M = dFout / dA

Radiant exitance, like irradiance, is measured in watts per square meter or W m - 2.

2.3.4 Radiant Intensity

Radiant intensity, I is defined as the rate of change of its power with respect to its solid angle.

I = dF / dw

Radiant intensity is measured in watts per steradian. Steradian is the measurement unit of a solid angle.

T S L Yeap Page 8 Radiosity for VR Systems University of Leeds

2.3.5 Radiance

As mentioned by Ashdown, radiance is best understood by first visualising it. Imagine a ray of light arriving at or leaving a point on a surface in a given direction. Radiance is simply the radiant flux contained in this ray.

Figure 2.5a Radiance (arriving). Redrawn from Figure 2.5b Radiance (leaving). Redrawn from [Ashdown, 1995]. [Ashdown, 1995].

The definition of radiance, L is:

L = d2F / dw (dAcosq) where dw is the solid angle of the ray incident to the differential surface dA. dAcosq is the ray cross- section area.

There is no distinction whether the ray of light is arriving or leaving a surface (Figure 2.5a and 2.5b). Recall that the definition of radiant intensity (equation 2.5) is:

I = dF / dw

We can then rewrite the definition of radiance as:

L= dI / (dAcosq)

Radiance is measured in watts per square meter per steradian or W m - 2 sr - 1. .

T S L Yeap Page 9 Radiosity for VR Systems University of Leeds

2.4 Photometry

Photometry is the science of measuring visible light in units that are weighed according to the sensitivity of the human eye [Ashdown, 1995]. The difference between radiometry and photometry lies in the units of measurement used.

This section will lay out the important terms and definitions used in photometry that are useful in radiosity. We will revisit some of these terms and definitions in subsequent chapters,.

The human eye is only receptive to a limited range of electromagnetic radiation - 388 to 782 nanometers (nm) [Freeman, 1990]. Moreover, the response of our visual system varies between this range of wavelength. For instance, a green light source might appear brighter than the same radiance of blue light. Thus, a standard spectral response function [Ashdown, 1995][Freeman, 1995] or photopic luminous efficiency function (Figure 2.6) was developed.

Figure 2.6 Luminous efficiency function. Redrawn from [Ashdown, 1995]. 1 0.9 0.8 0.7 Photopic 0.6 luminous 0.5 Efficiency 0.4 0.3 0.2 0.1 0 390 440 490 540 590 640 690 740

Wavelength

The set of fundamental quantities concerned with the measurement of the light is summarised in Table 2.2.

Table 2.2 Fundamental Photometric quantities [Grum et al., 1979]. Quantity Symbol Defining Equation Units Eqn. No.

Luminous energy Qv lm s (2.7)

Luminous flux F v F v = dQv / dt lm (2.8) - 2 Illuminance Ev Ev = dFvin / dA lm m (2.9) - 2 Luminous exitance Mv Mv = dFvout / dA lm m (2.10) - 1 Luminous intensity Iv Iv = dFv / dw cd = lm sr (2.11) 2 Luminance Lv Lv = d F v / dw (dAcosq) (2.12) - 2 = dIv / (dAcosq) cd m

T S L Yeap Page 10 Radiosity for VR Systems University of Leeds

2.4.1 Luminous energy

Luminous energy, Qv is photometric equivalent of radiant energy and is measured in lumen seconds or lm s.

2.4.2 Luminous flux

Luminous flux, F v is photometric equivalent of radiant flux and is measured in lumens or lm.

F v = dQv / dt

2.4.3 Illuminance and Luminous Exitance

Illuminance, Mv is the photometric equivalent of irradiance and is measured in lumens per square meter or lm m - 2.

Mv = dFvin / dA

Luminous Exitance, Ev is the photometric equivalent of radiant exitance and is also measured in lumens per square meter or lm m - 2.

Ev = dFvout / dA

2.4.4 Luminous Intensity

Luminous intensity, Iv is the photometric equivalent of radiant intensity and is measured in lumens per square steradian (lm sr - 1 ) or candela (cd).

Iv = dFv / dw

T S L Yeap Page 11 Radiosity for VR Systems University of Leeds

2.4.5 Luminance

Luminance, Lv is the photometric equivalent of radiance and is measured in candela per square meter or cd m - 2.

2 Lv = d F v / dw (dAcosq) = dIv / (dAcosq)

Visually, luminance is perceived by the brightness of a surface when viewed from a given direction.

2.5 Summary

In this chapter, we have presented the definitions of those various terms in radiometry and photometry terms which are essential for the radiosity theory.

However, we have only covered the basics required for subsequent chapters. A comprehensive coverage on radiometry can be found in [Grum et al., 1979] and [Stimson, 1974]. An excellent introduction to photometry can be found in [Stimson, 1974].

In the next chapter, we will look at the traditional illumination and shading models that are common in many existing commercial applications.

T S L Yeap Page 12 Radiosity for VR Systems University of Leeds Chapter 3

Traditional Illumination and Shading Models

3.1 Introduction

Illumination models express the factors determining a surface's colour at a given point while a shading model determines when the illumination model is applied and the parameters with which it is concerned.

This chapter (Figure 3.1) looks at some common illumination and shading models that are popular in many commercial applications.

Figure 3.1 Chapter 3 Road Map.

Chapter 1 Introduction 3.1 Introduction

Chapter 2 Chapter 5 3.2 Illumination Models Radiometry Radiosity and Photometry Trends Analysis 3.2.1 Ambient Reflection

3.2.2 Diffuse Reflection Chapter 3 Class Class Class Class Traditional Illumination R S H V 3.2.3 Specular Reflection and Shading Models

Chapter 6 3.3 Shading Models Chapter 4 Acceleration Techniques Radiosity Principles 3.3.1 Flat Shading for VR Applications 3.3.2 Gouraud Shading 3.3.3 Phong Shading Chapter 7 Novel Approaches for 3.3.4 Ray Tracing VR Applications

3.4 Summary Chapter 8 The Road Ahead and Conclusion

T S L Yeap Page 13 Radiosity for VR Systems University of Leeds

3.2 Illumination Models

Illumination models take into account each individual point on a surface and the light sources that are directly illuminating it. Three such models are discussed: ambient reflection, diffuse reflection and specular reflection.

3.2.1 Ambient Reflection

Ambient reflection is the result of inter-reflection from the walls and objects. However, it is modelled as a constant term for the specific object (Figure 3.2), such that a 3D sphere looks 2D. This approximates diffuse reflection globally.

Figure 3.2 Spheres shaded showing variation of magnitude in ambient component over the surface of each sphere. From left to right, increasing amount of cyan ambient reflection.

3.2.2 Diffuse Reflection

Most objects around us do not emit light of their own. Rather they absorb daylight, or light emitted from an artificial source, and reflect part of it. Here, light that reached the surfaces would be scattered equally in all directions. This implies that the amount of light as observed by the viewer is independent of the viewer’s location (Figure 3.3).

Figure 3.3 Spheres shaded showing variation of magnitude in diffuse component over the surface of each sphere. From left to right, increasing amount of cyan diffuse reflection.

T S L Yeap Page 14 Radiosity for VR Systems University of Leeds

3.2.3 Specular Reflection

Many real world surfaces are glossy, such that when viewed from certain angles they can be seen reflecting light. A glossy surface reflects a high proportion of light, while the rest is the result of diffuse reflection. This glossy or shiny reflection is called specular reflection (Figure 3.4).

Figure 3.4 Spheres shaded showing variation of magnitude in specular component over the surface of each sphere. From left to right, increasing amount of specular reflection.

3.3 Shading Models

There are three traditional shading models, namely flat shading, Gouraud shading and Phong shading. Global illumination shading models such as recursive ray tracing and radiosity takes into account the interchange of light between all surfaces.

3.3.1 Flat Shading

Flat surface rendering or constant shading is the simplest rendering format that involves some basic surface properties such as colour distinctions and reflectivity. This method produces a rendering that does not smooth over the faces which make up the surface. The resulting visualization shows an object that appears to have surfaces faceted like a diamond (Figure 3.5). Rendering only requires the computation of a colour for each visible face. The whole face is filled with this colour.

Figure 3.5 Toy duck using flat shading.

T S L Yeap Page 15 Radiosity for VR Systems University of Leeds

This approach is fast and very simple, but it gives quite unrealistic results and non-smooth surfaces. This is highlighted by the Mach effect: the intensity at the vicinities of the edges is overestimated for light values and underestimated for dark values.

T S L Yeap Page 16 Radiosity for VR Systems University of Leeds

3.3.2 Gouraud Shading

The Gouraud shading [Gouraud, 1971] is restricted to the diffuse component of the illumination model and it gives a fairly realistic result (Figure 3.6).

Figure 3.6 Toy duck using Gouraud shading.

It is noted that most VR systems, including Leeds Advanced Driving Simulator and arcade games such as Sega’s Street Fighter, use Gouraud shading extensively.

3.3.3 Phong Shading

Phong shading overcomes the limitation of Gouraud shading by incorporating specular reflection into the scheme [Phong, 1975]. Now, we have the effect of specular highlight in the middle of each polygon. Also note that the intensity transition from one polygon to another is smoother. (Figure 3.7).

Figure 3.7 Toy duck using Phong shading.

However, the primary objective is for efficiency of computation rather than for accurate physical simulation. As mentioned by Phong:

We do not expect to be able to display the object exactly as it would appear in reality, with texture, overcast shadows, etc. We hope only to display an image that approximates the real object closely enough to provide a certain degree of realism.

T S L Yeap Page 17 Radiosity for VR Systems University of Leeds

3.3.4 Ray Tracing

Ray tracing is one of the first techniques introduced for photo-realistic image synthesis. One of the beauties of this technique is its extreme simplicity [Glassner, 1989]. A ray tracing scene is able to give more realistic result (Figure 3.8) as compared to any of the previous three shading models - take note of the reflections on the lens and the shadows cast by the glasses on the floor.

Figure 3.8 Ray traced Glasses. Generated using Povray 2.2. Modified from original model by Graeme and Perry Van Dongen “Pen & Glasses on Red/Black Tiles”.

However, this method omitted the most important aspect for creating a true photo-realistic image; that is diffuse inter-reflection such as ‘colour bleeding’ effects, e.g. coloured light bounced off blue tiles onto the lens should result in a blue tint.

3.4 Summary

In this chapter, we have looked at various traditional illuminations and shading models that are commonly used in the commercial applications. However, they do not accurately represent the real world light-environment situation. Often, the image generated (in particular, those using ray tracing technique) may look like the original scene; but on close inspection, they are not.

In the next chapter, we look at the basics of radiosity and its application to computer graphics that gives photo-realistic results.

T S L Yeap Page 18 Radiosity for VR Systems University of Leeds Chapter 4

Radiosity Principles

4.1 Introduction

This chapter (Figure 4.1) introduces the theory of radiosity. The radiosity method was originally started in the 1950s as a method for computing radiative heat transfer between surfaces [Siegel et al., 1992]. In computer graphics, we are only concerned with the simulation of light transfer, which is simpler than the simulation of heat transfer. As such, temperature plays no significant role when radiosity method is applied for the synthesis of photo-realistic images.

Figure 4.1 Chapter 4 Road Map.

Chapter 1 4.1 Introduction Introduction 4.1.1 Lambertian surfaces

Chapter 2 Chapter 5 4.2 Radiosity Rendering Pipeline Radiometry Radiosity and Photometry Trends Analysis 4.3 Meshing the Environment Chapter 3 Class Class Class Class Traditional Illumination 4.3.1 Uniform Mesh R S H V 4.3.2 Higher Density Uniform Mesh and Shading Models

4.3.3 Non-uniform Mesh Chapter 6 Chapter 4 Acceleration Techniques Radiosity Principles for VR Applications 4.4 The Radiosity Equation

4.4.1 Concept of Form Factor Chapter 7 4.4.1.1 Form Factor between Differiential Novel Approaches for VR Applications Areas 4.4.1.2 Form Factor between Finite Area Chapter 8 Patches The Road Ahead and Conclusion 4.4.1.3 Reciprocity Relationship between Form Factors 4.4.1.4 Summation Relation 4.4.1.5 Assumptions 4.4.2 Form Factor Computation using Hemicube

4.5 The Radiosity Equation Revisited

4.6 Summary

T S L Yeap Page 19 Radiosity for VR Systems University of Leeds

The synthesis of digital images using this method have produced many photo-realistic images. Compare Figure 4.2a (an actual photograph) and Figure 4.2b (generated using radiosity). More importantly, the physical illumination between the actual environment and the computer generated environment is approximately the same.

Figure 4.2 Design Studio of the Future (a) Actual photo (b) Radiosity image (Courtesy of Architecture Electronic Studio, MIT, by Philip Thompson and Jack Devalpine).

In modelling an environment, the radiosity theory makes the following assumptions: · All surfaces are Lambertian · Each patch has a constant radiance distribution · Each patch has a constant irradiance distribution · The transmitting media is non-participating. In other words, the media does not absorb, refract or scatter light.

4.1.1 Lambertian Surfaces

One of the assumptions for radiosity theory is that all surfaces in the environment are Lambertian surfaces. A Lambertian surface is defined as a surface that has a constant radiance, such that when viewed from different directions (at the same angle), gives the same radiance. Its radiance depends only on the angle q between the direction of L to the light source and the surface normal, N (Figure 4.3).

T S L Yeap Page 20 Radiosity for VR Systems University of Leeds

Lambert’s cosine law is given by:

Iq= In cos q (4.1)

where Iq is the intensity of each ray and In is the intensity of the ray leaving in the direction of the surface normal.

Figure 4.3 Reflection from a Lambertian surface. Redrawn from [Ashdown, 1995].

Recall from Table 2.1 that for radiance L, we are viewing from dA from an angle q. Thus for a differential area dA with constant radiance, its intensity must vary in accordance to its projected area, which is dAcosq. L = dI / (dAcosq) (from equation 2.6)

Substituting Lambert’s cosine law into L, we have:

L = dIn cosq / (dA cosq)

= dIn / dA (4.2) for any Lambertian surface.

The relationship between radiant exitance and radiance for flux leaving a Lambertian surface is given by:

M = p L (4.3)

T S L Yeap Page 21 Radiosity for VR Systems University of Leeds

4.2 Radiosity Rendering Pipeline

This section establishes the rendering pipeline for radiosity rendering pipeline (figure 4.4) that provides a useful conceptual model of the rendering process. There are five different stages.

Stage one models the environment by converting the physical elements in the environment into raw data (e.g. vertices and edges) suitable for digital manipulation which is common among all other rendering pipelines such as Gouraud and Phong rendering pipeline. Stage two converts the raw data into meshes for computation purposes. Stage three is the computation of form factors which is a major part of the rendering process. Stage fours solve the linear radiosity equations resulting in Illuminance values and the final stage display the image on the screen.

Environment modelling and 3D scene visualization are common in most computer graphics and more information can be found in [Foley et al., 1990].

Figure 4.4 Graphics Pipeline for Radiosity.

Solve Linear Model Surface Form Factor 3D Scene Radiosity Environment Meshing Calculation Visualization Equations

4.3 Meshing the Environment

The accuracy of the radiosity method depends very much on the underlying meshing techniques used to represent each surface. Each surface is divided into a mesh of polygons, commonly known as patches (Figure 4.5). A patch is the synonym for surface or area.

Figure 4.5 A room with a chair in patches. Scene generated using Helios.

T S L Yeap Page 22 Radiosity for VR Systems University of Leeds

Each patch will receive some flux from the surrounding patches while emitting its own flux. Likewise, all other patches will behave the same. This process is iterative and continues until all reflected flux is finally absorbed. A record of how much flux each patch reflects and/or emits, a final value of radiant exitance, M can be derived. Under the constraint that each patch is a Lambertian surface, the patch Radiance can be derived by: L = M / p (from equation 4.3)

In general, there are three meshing strategies namely uniform meshing, higher density meshing and non-uniform meshing [Ashdown, 1994].

4.3.1 Uniform Mesh

Uniform mesh is the simplest of all the meshing strategies. An illustration of one-dimensional radiosity function is approximated in figure 4.6a. This meshing technique does not perform well, as seen in figure 4.6b, the huge shaded region, depicting the errors from uniform mesh of five elements.

Figure 4.6a Uniform mesh. Figure 4.6b Uniform mesh, with shaded errors.

T S L Yeap Page 23 Radiosity for VR Systems University of Leeds

4.3.2 Higher Density Uniform Mesh

An improvement is to increase the number of elements to nine (figure 4.7a), which results in a better approximation to the original function (figure 4.7b).

Figure 4.7a Higher density uniform mesh. Figure 4.7b Higher density uniform mesh, with shaded errors.

4.3.3 Non-uniform Mesh

An even better approximation can be achieved by increasing the intervals when the gradient of the function changes rapidly (figure 4.8a). This would best approximate the radiosity function among the other two uniform meshing techniques.

Figure 4.8a Non-uniform mesh. Figure 4.8b Non-uniform mesh, with shaded errors.

T S L Yeap Page 24 Radiosity for VR Systems University of Leeds

4.4 The Radiosity Equation

To be computationally useful, a radiosity equation for radiant exitance M, needs to be defined. It is defined as:

n RadiantExitance i = RadiantExitanceoi + Reflectancei å RadiantExitancej * FormFactorij (4.4) j=1

where i denotes surface i, ij denotes i with respect to j and is the colour (red, green and blue) of the surface.

This equation basically means that the radiant exitance of some surface i is equal to the its original emission plus the sum of any reflected energy from every other surface j in the environment.

4.4.1 Concept of Form Factor

Form factor is the last component in the radiosity equation which requires further explanation. It is defined as the fraction of energy leaving a given surface that arrives at a second surface directly and is the essence of radiosity [Cohen et al., 1993]. Formally, form factor of a patch i is defined as the proportion of the total flux leaving patch i that is received by patch j.

In the next two sections, we will discuss the form factor geometry from a simple case (between two differential patches) to the complete case (form factor between one patch to another patch).

T S L Yeap Page 25 Radiosity for VR Systems University of Leeds

4.4.1.1 Form Factor between Differential Areas

Consider two differentiate area patches dEi and dEj as shown Figure 4.9, where both are Lambertian surfaces. The fraction of flux emitted by dEi that is received by dEj is known as the differentiate form factor denoted as dFdEi-dEj. This is also known as point to point form factor calculation.

Figure 4.9 Patch Ej receiving flux Fij from patch Ei. Redrawn from [Ashdown, 1994].

The form factor from a differential area dEi to another differential area dEj is given by:

2 dFdEi-dEj = cosqi cosqj dAi / pr (4.2)

where qi and qj are the angles between a line connecting dEi and dEj and their respective surface normalise (Figure 4.10) and dAj is the differentiate area of dEj.

Figure 4.10 Form factor geometry between two differentiate patches. Adapted from [Ashdown, 1994].

T S L Yeap Page 26 Radiosity for VR Systems University of Leeds

4.4.1.2 Form Factor between Finite Area Patches

This is the computation of form factor between two patches. This is also known as area to area from factor calculation in radiosity literature.

The form factor from a finite area patch Ei to another finite area patch Ej is given by:

1 cosqi cosqj F = dA dA (4.5) Ei-Ej A ò ò pr2 j i Ai Aj

Figure 4.11 shows a single integration of dEi over Ej.

Figure 4.11 Form factor FdEi-Ej determination by area integration over Ej. Redrawn from [Ashdown, 1994].

Figure 4.12 shows a complete integration of Ei over Ej.

Figure 4.12 Form factor FEi-Ej determination by area integration over Ei and Ej.

T S L Yeap Page 27 Radiosity for VR Systems University of Leeds

4.4.1.3 Reciprocity Relation between Form Factors

The reciprocal form factor FEi-Ej is obtained by reversing the patch subscripts.

Ai Fij = Aj Fij (4.6)

This is an important relationship, because the computation of form factor Fij allow us to compute Fji easily.

4.4.1.4 Summation relation

The summation relation states that

n å Fij = 1 (4.7) j=1 for any patch Ei in a closed environment with n patches.

This summation includes the form factor Fij, which is defined as the fraction of flux emitted by Ei that is also directly received by Ei.

Fii = 0 if Ei is planar or convex (Figure 4.13a and 4.13b), and

Fii ¹ 0 if Ei is concave (Figure 4.13c)

Figure 4.13a Planar surface. Figure 4.13b Convex surface. Figure 4.13c Concave surface.

4.4.1.5 Assumptions

The form factor concept holds the assumption that the media with which light interacts are non- participating medium. In other words, the medium does neither absorb, refract nor scatter light. The medium is analogous to a vacuum.

T S L Yeap Page 28 Radiosity for VR Systems University of Leeds

4.4.2 Form Factor using Hemicube

Cohen found that one could solve the form factor by approximation using hemicube (algorithm [Cohen et al., 1995]. The important observation was that patches that have the same projected area on a hemisphere will occupy the same solid angle and a hemicube could be to replace the hemisphere. Figure 4.14 shows a 3x6x6 cells of grid, collectively a hemicube. Each of the cell (either top or side) are the individual form factors (called delta form factors, DF). The projected patch of dEi can be computed by summing all the delta form factors of the cells that it covers:

FdEi-Ej = å DFcov ered (4.8)

where DFcovered refers to the form factors of those cells by the projection of Ej onto one or more of the hemicube faces.

The accuracy of Equation 4.8 dependent on the hemicube’s grid spacing is also known as its resolution. Our illustration is a simple 36x36 cells. Typical resolutions used by researchers ranged from 32x32 to 1024x1024 cells [Cohen et al., 1993].

Figure 4.14 Projecting patch Ej onto the cells of a hemicube.

T S L Yeap Page 29 Radiosity for VR Systems University of Leeds

4.5 The Radiosity Equation Revisited

Restating equation 4.4

n RadiantExitance i = RadiantExitanceoi + Reflectancei å RadiantExitancej FormFactorij j=1 Letting,

Mi be the RadiantExitancei of each patch Ei in an n patches,

ei be the RadiantExitanceoi , that is initial exitance of patch Ei ,

ri be the Reflectancei,

Mj be the RadiantExitancej,

and Fij be the Form factor between patch i and j.

We have,

n Mi = ei + å Mi Fij (4.9) j=1

By expressing ei in terms of other terms, we have,

n ei = Mi - å Mi Fij (4.10) j=1

This equation can then be expressed as a set of n simultaneous linear equations:

e1 = M1 - (r1 M1 F11 + r1 M2 F12 + … + rn Mn F1n)

e2 = M2 - (r2 M1 F21 + r2 M2 F22 + … + rn Mn F2n) : (4.11) :

en = Mn - (rn M1 Fn1 + rn M2 Fn2 + … + rn Mn Fnn)

In matrix notation, this can be compactly represented as:

e = (I-F) M (4.12) where I is nxn identity matrix, M is the final nx1 exitance vector,

e is the initial nx1 exitance vector

th and F is an nxn matrix whose i, j element is riFij

T S L Yeap Page 30 Radiosity for VR Systems University of Leeds

Expanding equation 4.12 into tableau form, we have,

ée1 ù éM1 ù é 1- r1F11 -r1F12 L -r1F1n ù ê ú ê ú ê ú êe2 ú êM 2 ú ê - r2 F21 - r2 F22 L - r2 F2n ú ê ú = ê ú ê ú (4.13) ê M ú ê M ú ê M M O M ú ê ú ê ú ê ú ê ú ê ú ê ú ëen û ëM n û ë - rn Fn1 - rn Fn2 L - rn Fnn û

From equation 4.12, the solution for M can be computed by inverting (I-F),

-1 M = e (I-F) (4.14)

There are several methods that can be used to solve this matrix iteratively: Jacobi iteration, Gauss- Seidel iteration, Southwell iteration, overrelaxation. A good tutorial of these methods for radiosity can be found in [Glassner, 1995].

Equation 4.14 is the most important result for the classical radiosity technique. An illustration based on it can be found in Appendix C.

4.6 Summary

This chapter presents the essence of radiosity method. The key notion of form factor was introduced, and the formulation of radiosity method as a matrix equation was derived.

Various important stages of radiosity rendering pipeline were covered - mainly surfaces meshing, form factor computation and radiosity equations.

In the following chapter, we will look at some radiosity trends and review radiosity literature.

T S L Yeap Page 31 Radiosity for VR Systems University of Leeds Chapter 5

Radiosity Trends Analysis

5.1 Introduction

This chapter (Figure 5.1) covers radiosity trends analysis and gives a detailed literature review of different aspects of radiosity research namely - classical radiosity and extended radiosity related work; soft acceleration techniques; hard acceleration techniques and radiosity for VR. To our knowledge, no previous radiosity trends analysis has been done1 .

The analysis was based on an excellent set of radiosity bibliography [Ashdown et al., 1997], which contains over eleven hundred papers and publications from 1900 to 1997.

Figure 5.1 Chapter 5 Road Map.

Chapter 1 Introduction

5.1 Introduction Chapter 2 Chapter 5 Radiometry Radiosity and Photometry Trends Analysis 5.2 Trends Analysis

Chapter 3 Class Class Class Class Traditional Illumination R S H V 5.3 Literature Review and Shading Models 5.3.1 Class R Literature Review

Chapter 6 5.3.2 Class S Literature Review Chapter 4 Acceleration Techniques Radiosity Principles for VR Applications 5.3.3 Class H Literature Review 5.3.4 Class V Literature Review

Chapter 7 Novel Approaches for VR Applications 5.4 Summary

Chapter 8 The Road Ahead and Conclusion

1. Probably because (1) the wide collection of Ashdown bibliography was not as complete as before, (2) developing new techniques in radiosity is more interesting and (3) there are few incentives in doing such analysis in the field of computer graphics.

T S L Yeap Page 32 Radiosity for VR Systems University of Leeds

5.2 Trend Analysis

Papers and publications before 1984 did not apply radiosity to computer graphics at all. There were less than one hundred papers in that time. Research on radiosity applicable to computer graphics started to take off in 1984 and a total of 976 papers and publications were reviewed between 1984 and 1996. (Table 5.1 and Figure 5.1). Work done in 1997 was not taken into account for the trend analysis because the collection was incomplete.

We have grouped the radiosity literature into four categories, namely: · Class R - Radiosity, extended radiosity and related papers · Class S - Soft approach, acceleration techniques · Class H - Hard approach, acceleration techniques · Class V - VR, Walk-through, flybys, real-time radiosity

Table 5.1 Radiosity Trends Analysis. C\Yr 84 85 86 87 88 89 90 91 92 93 94 95 96 Total R 12 16 16 14 20 29 37 61 81 84 87 72 51 580 S 1 2 2 5 9 11 18 23 45 47 50 38 251 H 1 11 9 14 11 20 24 22 14 126 V 1 1 1 2 7 7 19

bold denotes peak value Class R: 59.4%, Class S: 25.7%, Class H: 12.9%, Class V: 1.95%

Figure 5.2 Graph Plot of Radiosity Trends Analysis.

T S L Yeap Page 33 Radiosity for VR Systems University of Leeds

It was noted that class R, S and H were declining while there were only nineteen papers that were directly related to applying radiosity to virtual reality systems. In general, the enthusiasm for radiosity research for class R, S and H appeared to peak in the period 1994-1995, whereas we would expect to see more works for class V in the future.

5.3 Literature Review

There are separate reviews for each class defined in the previous section. This enables us to have a clearer picture on the different aspects of radiosity research. More importantly, it helps to provide a basis for a more accurate review of the acceleration techniques and VR aspects for radiosity in the subsequent chapters.

5.3.1 Class R Literature Review

Class R refers to papers and publications related to radiosity and extended radiosity.

The first two papers which started the race (applying radiosity to computer graphics) were by researchers at Program of Computer Graphics at Cornell University [Goral et al., 1984] and Fukuyama and Hiroshima University [Nishita et al., 1985]. It was noted that radiosity solutions for diffuse surfaces were assumed. It was not until 1986 that non-diffuse surfaces such as specular surfaces were covered [Immel et al., 1986][Rushmeier, 1986]. Shading models that involved transparency were done by Ito et al. [ Ito et al., 1991].

Radiosity techniques were subsequently combined with ray tracing [Wallace et al., 1987][Wallace, 1988][Hermitage, 1989][Shirley, 1990]. Radiosity was further extended to volume rendering [Rushmeier, 1991][Bhate, 1993][ Sobierajski, 1994].

Research carried out in 1995 and 1996 was less focused, with no single common area. Wu concentrated on applying radiosity to fractal surfaces [Wu, 1995] while Funkhouser looked at the database aspects [Funkhouser, 1996] for huge data sets.

T S L Yeap Page 34 Radiosity for VR Systems University of Leeds

5.3.2 Class S Literature Review

Class S refers to papers and publications on acceleration techniques using software techniques or algorithms.

The strategies and algorithms for subdividing the domain of the radiosity function into finite elements is known as meshing. The quality of mesh directly affects the quality of the final radiosity solution. Discontinuity meshing [Heckbert, 1992] was one of the first elegant solution to be presented. Phillips introduced an adaptive mesh refinement algorithm [Phillips, 1993]. Sturzlinger combined discontinuity meshing and an adaptive mesh refinement algorithm [Sturzlinger, 1994]. In the later chapter, we will discuss a novel meshing method introduced very recently and known as Progressive Meshes [Hoppe, 1996] and apply it to radiosity rendering pipeline.

The efficient computation of form factors was first introduced in 1985 by Cohen et al. using the hemi-cube [Cohen et al., 1995]. It was only in 1991 when the next major method for computing the form factor using cubic tetrahedral [Beran-Koehn et al., 1991] was introduced. Another variation introduced during this period is hemisphere projections [Bian et al., 1991].

Accelerated computation of radiosity was first achieved by using a technique called progressive refinement approach [Cohen et al., 1988][Goldfeather, 1989]. This method allows us to present the visualisation results from coarse to fine, and is very good for controlling the level of details in VR applications.

Hierarchical radiosity [Hanrahan et al., 1990] was another milestone in accelerating radiosity solution. This approach simplified the number of individual relationships - form factors. Asensio extended this idea by incorporating ray casting algorithm [Asensio, 1992] for radiosity solutions. Working jointly with Pat Hanrahan, Aupperle applied hierarchical radiosity technique to account for glossy surfaces [Aupperle, 1993] and Bhate showed how this technique can account for participating media [Bhate, 1993b].

Gortler et al. extended hierarchical radiosity by applying wavelet transformation techniques, which started another revolution of radiosity - wavelet radiosity [Gortler et al., 1993].

T S L Yeap Page 35 Radiosity for VR Systems University of Leeds

The latest wave was a new class of radiosity known as importance based radiosity [Smits et al., 1992]. This method computes accurate solutions for surfaces that are more important and less accurate for other surfaces. For example, in an art gallery, that are reflecting on the painting and sculptures are more important than elsewhere - floor, staircase, wall, etc. Bekaert et al. incorporated progressive refinement techniques to importance based radiosity [Bekaert et al., 1995].

5.3.3 Class H Literature Review

Class H refers to papers and publications on acceleration techniques that are related to hardware or to algorithms for specific hardware architectures.

The first few papers appeared in 1987. One approach was to use specialised Very Large Scale Integration (VLSI) architectures [Bu, 1987] for computing radiosity. Another approach was the reformulation of classical radiosity equation suitable for parallel algorithms [Dugger, 1989][Price et al., 1989][Prior, 1989][Chalmers et al., 1990][Kochevar, 1990].

Renaud was the first to exploit a transputer network [Renaud, 1991] for radiosity solution. Varshney implemented the radiosity solution on a Single Instruction Multiple Data (SIMD) computer [Varshney, 1991]. Shared memory multiprocessors [Chung, 1990][Gautam et al., 1993] were also used for computing radiosity.

Others concentrated on the computation of form factors. This was done by reformulating the form factors suitable for use in parallel algorithms and machines [Baranoski, 1992][Kokcsis et al., 1992][Michelin et al., 1993][Sturzlinger, 1995][Zareski et al., 1995][Vilaplana, 1996].

T S L Yeap Page 36 Radiosity for VR Systems University of Leeds

5.3.4 Class V Literature Review

Class V refers to papers and publications on radiosity solutions for VR applications. So far, less than two percent of the papers are dedicated to this class.

Airey et al. were the first to publish a paper addressing issues related to updates on an interactive environment [Airey et al., 1990] using radiosity. It was only in 1995 that Otake in his M. Sc. thesis applied progressive refinement algorithm in radiosity to VR applications [Otake, 1995]. Gibson utilised hierarchical radiosity [Gibson, 1995] and Forsyth et al. adapted it to take into account of dynamic environments where objects in the scene changes their position [Forsyth et al., 1995]. Möller applied radiosity textures in his implementation and was reported to be able to achieve interactive rates [Möller, 1995][Möller, 1996].

In the next chapter, we introduce novel approaches used by researchers in University of Leeds for machine vision applications [Baumberg et al., 1993][Baumberg et al., 1994] [Baumberg et al., 1995][Shen X et al., 1993][Shen X et al., 1995][Sumpter et al., 1997], which were extended to VR applications using radiosity solutions.

5.4 Summary

In this chapter, we have looked at the chronological radiosity research activities in several classes - radiosity related; software and hardware acceleration techniques; radiosity in VR. The first three classes are mature research areas while radiosity in VR is the still under exploration.

In the next chapter, we will look at techniques which helps to accelerate the computation of radiosity, both software techniques and hardware solutions. .

T S L Yeap Page 37 Radiosity for VR Systems University of Leeds Chapter 6

Acceleration Techniques for Radiosity

6.1 Introduction

Previously, we looked at the classical approaches to computing radiosity for an environment. However, for complex environments in particular, in a VR environment, quick user feedback is crucial. Hence, this is where various accelerated techniques have an important role to play in the various stages of the radiosity pipeline.

In this chapter, we will introduce the concept of an extended radiosity pipeline and review the more important accelerated techniques in four of the stages in the extended radiosity pipeline - surface meshing; form factor computation; solving of radiosity equation; and the VR engine. As mentioned earlier, the other two stages, environment modelling and scene visualization, are extensively covered in [Foley et al., 1990].

Figure 6.1 Chapter 6 Road Map.

6.1 Introduction Chapter 1 6.1.1 What is Virtual Reality? Introduction 6.2 Extended Radiosity Pipeline Chapter 2 Chapter 5 Radiometry Radiosity and Photometry Trends Analysis 6.3 Acceleration Techniques for Surface Meshing Stage 6.3.1Adaptive Meshing Chapter 3 Class Class Class Class Traditional Illumination 6.3.2 Radiosity Textures R S H V and Shading Models 6.4 Acceleration Techniques for Form Factor Computation Stage Chapter 6 Chapter 4 Acceleration Techniques 6.4.1 Monte Carlo Methods for Radiosity Radiosity Principles for VR Applications 6.5 Acceleration Techniques for Solving Radiosity Equation Stage Chapter 7 Novel Approaches for 6.5.1 Progressive Radiosity VR Applications 6.5.1 Parallel Progressive Radiosity

Chapter 8 The Road Ahead 6.6 Acceleration Techniques for Virtual Reality Engine Stage and Conclusion 6.7 Summary

T S L Yeap Page 38 Radiosity for VR Systems University of Leeds

6.1.1 What is Virtual Reality?

Virtual reality refers to a computer simulated three dimensional (3D) environment that allows real- time interactions. In simulating a reality, the focus is on reproducing its environment as accurately as possible to create the illusion of an alternate reality. This involves not only 3D images but also the incorporation of 3D sound, artificial smell generation and force-feedback (technology that provides the sensation of touch). These realities may either be representations of real world objects or the imagination of the designer. Some examples of these include architectural walk-throughs, flight simulation, scientific visualization, oceanographic simulation, medical simulation and training applications. We restrict our interest to the visual aspects of VR applications; that is, using radiosity to generate photo-realistic scenes in real-time.

One interesting aspect of a radiosity solution for a scene is its view-independent nature. This is an important result, because this means that during a walk-through, when the user changes their field of view (FOV) to focus on another view, we do not need to re-compute the form factors and solve the linear radiosity equations. Here, we would only need to render the new FOV based on pre-computed radiosity solution.

6.2 Extended Radiosity Pipeline

We extend the radiosity pipeline defined earlier to include a VR Engine (figure 6.2). In this VR component, the flow would either be towards surface meshing stage or towards 3D scene visualization stage. A brute force approach would be to restart from the surface meshing stage. However, with clever guessing and calculation, we could skip three of the stages before getting into 3D scene visualization - this will be looked at in detail in the next chapter.

Figure 6.2 Extended Graphics Pipeline for Radiosity.

Solve Linear Model Surface Form Factor 3D Scene Radiosity VR Engine Environment Meshing Calculation Visualization Equations

T S L Yeap Page 39 Radiosity for VR Systems University of Leeds

6.3 Acceleration Techniques for Surface Meshing Stage

As indicated by the low number of papers published, this area is almost entirely ignored by radiosity researchers. However, two approaches (figure 6.3) for accelerated surface meshing were adaptive meshing [Cohen et al., 1986] and radiosity textures [Heckbert, 1990][Basto et al., 1995].

Figure 6.3 Acceleration Techniques for Surface Meshing Stage.

Solve Linear Model Surface Form Factor 3D Scene Radiosity VR Engine Environment Meshing Calculation Visualization Equations

1. Adaptive Meshing 2. Radiosity Textures

6.3.1 Adaptive Meshing

Adaptive meshing is a structured form of non-uniform meshing. Figure 6.4a shows a simple 2D scene, that is of low density mesh, while figure 6.4b shows adaptive meshing technique being used.

Figure 6.4a Low density mesh. Figure 6.4b Adaptive Mesh.

Referring to Figure 6.4a, cells that are either shaded fully or not shaded referred to as zero local errors, while half-shaded cells contain some errors (measured in pixels). As noted in Figure 6.4b, those cells with errors are subdivided until a certain error tolerance is reached (e.g. within 10 pixels). Figure 6.5 outlines an adaptive meshing algorithm for radiosity.

T S L Yeap Page 40 Radiosity for VR Systems University of Leeds

Figure 6.5 Algorithm: Adaptive meshing. Modified from [Cohen et al., 1993].

AdaptiveMeshing_Radiosity(error_tolerance){ Create initial high density mesh with uniform mesh; Compute form factors; Solve Linear radiosity equations; do{ Evaluate accuracy by comparing neighbourhood element; subdivide elements that exceed error_tolerance; for (each new element){ Compute form factors from new element to all other elements; Compute radiosity of new element based on old radiosity values; } }until (all elements within error_tolerance or min. element size reached); }

6.3.2 Radiosity Textures

Until now, the data structure for radiosity we deal with are polygonised [Heckbert, 1991]; that is we represent our radiosity function by polygons of constant radiosity. This is the most popular form of representation.

Heckbert introduced a new form of representation called radiosity texture or rex [Heckbert, 1991]. Instead of polygonising each cell and storing one radiosity value per polygon, radiosity samples are stored in a texture on every diffuse surface in the scene. A texture is a function that is mapped onto a surface and used as a shading parameter in some way [Blinn et al., 1976][Heckbert, 1986]. The use of rex completely decouples the geometry of the scene from its shading. As noted by Cohen et al., this simplifies both the algorithms and data structures [Cohen et al, 1993]. Figure 6.6 shows how a mesh is converted to texture map [Möller, 1996].

Figure 6.6 Converting a mesh into uv-space to generate a texture map. [Redrawn from Möller, 1996].

T S L Yeap Page 41 Radiosity for VR Systems University of Leeds

Figure 6.7 shows the data structure of a rex node.

Figure 6.7 Rex node data structure modified to C++ like structure. [Heckbert, 1991].

Class rex_node{ private: leaf as Boolean; // is this a leaf? mark as Boolean; // should node be split? level as integer; // level in tree, eg. Root=0 parent as *rex_node; // parent node, if any nw, ne, se, sw as *rex_node; // four children, if not a leaf u0, v0 as double; /* texture surface parameters of a square corner [Foley et al., 1990] */ area as double; // surface area count as integer; // photon in bucket, if leaf power as integer; // accumulated power of bucket }

Basto et al. implemented [Basto et al., 1995] the rexes (radiosity textures) method using a commercial package, Lightscape, and made a comparison of the video frame rates for a radiosity computation using adaptive meshing and rexes (figure 6.8).

Figure 6.8 Frame rates comparison for Adaptive mesh vs Texture Mapping for radiosity computation. Extracted from [Basto et al., 1995].

Model (type) Number of triangles Number of Vertices Frame rate

Building (adaptive) 158,670 208,052 3.8 Building (texture) 804 1,608 >30.0

Lava pit (adaptive) 55,158 71,648 7.5 Lava pit (texture) 7,188 9,195 >30.0

Mausoleum (adaptive) 41,342 51,916 20.0 Manusoleum (texture) 8,208 10,604 >30.0

We noted that using rexes, Basto et al. were able to maintain the consistency of more than 30 frames per seconds (actual frame rates were not able to be quantified due to the saturation effects in the performance meter of the SGI Iris Performer).

T S L Yeap Page 42 Radiosity for VR Systems University of Leeds

We deduce from this experiment that if a higher density mesh were used instead of an adaptive mesh, the frame rates would be even lower.

Use of rexes appears to be a panacea for achieving high frame rates, while achieving a scene visual realism [Möller, 1995][Möller, 1996]. Gershbein et al. and Reid et al. demonstrated [Gershbein et al., 1994][Reid et al., 1996] that one could even incorporate complex reflectance and emitance through the use of rexes in a radiosity generated image.

6.4 Acceleration Techniques for Form Factor Computation Stage

It is widely known in the radiosity research community that the traditional computation of form

factor is very expensive, such that given n patches, the time complexity for this computation [Cohen et al., 1993] is O(n2 ). One way to speed up this computation is using ray tracing methods [Haines et al., 1986][Arvo et al., 1987]. Another alternative is to find other approaches that can approximate the computation of form factors (Figure 6.9) and one of the most successful and widely used approach is the use of Monte Carlo methods [Kajiyama et al., 1989][Shirley, 1990, 1990b, 1991, 1992, 1994][Shirley et al.,1991, 1995][Feda et al., 1993][Hutchinson, 1993][Jensen, 1993][Dutre et al., 1994][Elias et al., 1994][Khodulev et al., 1995][Heinrich et al., 1994][Beseuievsky et al., 1996][Feda M., 1996].

Figure 6.9 Acceleration Techniques for Form Factor Computation Stage.

Solve Linear Model Surface Form Factor 3D Scene Radiosity VR Engine Environment Meshing Calculation Visualization Equations

1. Monte Carlo Methods 2. Ray Tracing Methods

T S L Yeap Page 43 Radiosity for VR Systems University of Leeds

6.4.1 Monte Carlo Methods for Radiosity

Monte Carlo method refers to any technique that uses random numbers to get an approximate answer to a problem. In radiosity, Monte Carlo methods can be used to approximate the form factor computation. Shirley has shown that the time complexity [Shirley, 1991] of this method for radiosity is O(n). This is a great improvement over traditional computation of form factors. Figure 6.10 shows light exitance of light using the traditional method with time complexity of O(n2 ).

Figure 6.10 Analytic/Traditional emission of energy.

Figure 6.11 Monte Carlo simulation in the emission of energy; exitance, reflection and absorption of light using Monte Carlo methods. Initial Ray from floor contains 24J of power and each patch have two pairs of number. The left value is its radiance and the right value is unshot energy. (a) (b)

(c) (d)

T S L Yeap Page 44 Radiosity for VR Systems University of Leeds

One of the appeals of using Monte Carlo method lies in their simplicity; they are easy to design and use. A short illustration is shown in Figure 6.11. A bundle of light of 24J (Figure 6.11a) is dissipated from a patch from the floor, which spawns several rays each with 4J in random directions. Two rays hit one of the patches on the wall; another two hits two different patches; the rest miss the wall. The energy from the rays that hits the wall is attenuated by a reflectance factor. Here (Figure 6.11b), the patch in the floor radiated 24J and received 0J of energy while the three patches on the wall each received 4J, 2J and 2J of energy respectively. Moreover each also has an equal amount of unshot energy to be emitted. Rays from patch with 4J were shot (Figure 6.11c) and one of the rays hit the patch from the floor. Therefore (Figure 6.11d), the wall has 0J left to emit, and the floor, upon receiving an addition of 3J, has a total of 27J and another 3J to be emitted. As one can see, this process will continue until each patch in the scene has no more energy left to be emitted; the right number is close to or equal to zero. Figure 6.12 outlines the algorithm for Monte Carlo radiosity.

Figure 6.12. Algorithm: Monte Carlo Radiosity.

RADIANCE = 0; // 1st array index for patch power TO_BE_EMIT = 1; // 2nd array index for patch power ENERGY_TOLERANCE = 0.1 // A value close to zero which determine when // The iteration should stop in #1.

MonteCarlo_Radiosity(error_tolerance){ // Monte Carlo initial stage For (each patch){ Emit n1 rays in random direction; patch[patchi , RADIANCE] = NJ; // Left value of N joules For (each patch that receive that a ray hits){ // r is reflectance factor, m is the radiance per ray, patch[patchi , RADIANCE]= patch[patchi , RADIANCE] + r*m; patch[patchi , TO_BE_EMIT] = patch[patchi , TO_BE_EMIT] + r*m; } } // Iterative loop to dissipate remaining energy for emission for (rays with patch[patchi , TO_BE_EMIT] < ENERGY_TOLERANCE){ Emit n2 rays in random direction; for (each patch that receive that a ray hits){ patch[patchi , RADIANCE]= patch[patchi , RADIANCE] + r*m; patch[patchi , TO_BE_EMIT] = patch[patchi , TO_BE_EMIT] + r*m; } } }

T S L Yeap Page 45 Radiosity for VR Systems University of Leeds

Although Monte Carlo methods are used extensively in radiosity, there is not yet a paper published on VR applications. Considering that the time complexity of this approach is O(n), this makes the approach very attractive candidate for VR applications. A similar approach to Monte Carlo was implemented in [Shirley et al., 1995] suitable for walkthroughs.

6.5 Acceleration Techniques for Solving Radiosity Equation Stage

This is the area which received the most attention from the research community, demonstrated by the massive number of papers published and continual exploration for more innovative methods in solving the radiosity equation. Generally, three approaches have been used. The first approach is by solving the radiosity equations, including the form factors, e.g. Monte Carlo radiosity (as mentioned in 6.4.2); the second approach is to build better mousetraps by novel approaches such as progressive radiosity [Cohen et al., 1988][Goldfeather, 1989], hierarchical radiosity [Hanrahan et al., 1990], importance-based radiosity [Smits et al., 1992] and wavelet radiosity [Gortler et al., 1993]; and finally, one may re-formulate the radiosity equations suitable for computation in parallel machines (Figure 6.13). Due to space constraint, we will cover only progressive radiosity and a parallel approach for progressive radiosity.

Figure 6.13 Acceleration Techniques for Solving Radiosity Equation Stage.

Solve Linear Model Surface Form Factor 3D Scene Radiosity VR Engine Environment Meshing Calculation Visualization Equations

1. Progressive Radiosity 2. Parallel Progress Radiosity 3. Hierarchical Radiosity 4. Importance-based Radiosity 5. Wavelet Radiosity

T S L Yeap Page 46 Radiosity for VR Systems University of Leeds

6.5.1 Progressive Radiosity

The traditional radiosity solution covered in Chapter 4 is computationally very expensive with a time complexity of O(n3). Progressive radiosity is one of the earliest methods introduced [Cohen M. et al., 1988] to tackle this complexity and is still a popular method for variations even today [Goldfeather J., 1989][Aykanat C. et al., 1993][Capin T. et al., 1993][Feda M. et al., 1993][Goldman J., 1994][Bekaert P. et al.,1995][Otake T., 1995][Yu Y. et al., 1996].

Progressive refinement method considers the emission of energy from each individual patch in turn, producing useful image at each iteration. Recall that the traditional radiosity solution simply propagates energy from one patch to all other patches (Figure 6.14a), while the Monte Carlo methods propagates energy from one patch to random patches. Progressive refinement propagates energy from the patch with the highest unshot energy. This is very useful because patches with energy that contributes to the other patches most significantly are computed first, while other patches with energy that has little impact on other patches are left to the last iteration.

Computationally, this method is very fast. However, when the solution is displayed on the screen, it looks dark (Figure 6.14b - 1,2 and 24 iterations). Cohen et al. introduced an additional term - the ambient factor [Cohen et al., 1988] - to illuminate the scene (Figure 6.14c). This factor is used for display purposes only, not for computation. The ambient factor is a coarse estimation that account for the yet reflected illumination in the scene. The ambient factor models the unknown illumination arriving from unknown directions as a constant illumination from all direction [Cohen et al., 1993]. A detailed explanation of this method can be found in the original paper [Cohen et al., 1988].

Figure 6.14 Traditional and Progressive Refinement. (a) Traditional Gauss-Seidel iteration of 1, 2, 24 and 100. (b) Progressive Refinement (PR) iteration of 1, 2, 24 and 100 (c) PR + Ambient factor iteration of 1, 2, 24 and 100. (Courtesy of Michael Cohen [Cohen et al., 1988]). (a) (b) (c)

T S L Yeap Page 47 Radiosity for VR Systems University of Leeds

Progressive refinement methods have a worse case time complexity of O(n2 ), which is often O(n) in practice [Cohen et al., 1993]. Figure 6.15 shows a plot of the convergence for figure 6.14. based on traditional radiosity computation (TR) , progressive refinement (PR) and progressive refinement with ambient factor (PR+A).

Figure 6.15 Convergence plots for three radiosity methods. Redrawn from [Cohen et al., 1993].

Figure 6.16 shows the algorithm for progressive radiosity.

Figure 6.16 Algorithm: Progressive Radiosity.

RADIANCE = 0; // 1st array index for patch power TO_BE_EMIT = 1; // 2nd array index for patch power ENERGY_TOLERANCE = 0.1 // A value close to zero which determine when // The iteration should stop in #1.

Progressive_Radiosity(){ while (not converged){ for (each patch i){ Select patchi such that patch[patchi , TO_BE_EMIT] is highest; for (other patches j){ Compute DRAD = radiosity value between i & j; patch[patchi , TO_BE_EMIT] = patch[patchi , TO_BE_EMIT] + DRAD; patch[patchj , RADIANCE]= patch[patchj , RADIANCE] + DRAD; } } patch[patchi , TO_BE_EMIT] = 0; } }

T S L Yeap Page 48 Radiosity for VR Systems University of Leeds

6.5.2 Parallel Progressive Radiosity

The progressive radiosity algorithm outlined in Figure 6.16 is suitable for adapting to a parallel version. Goldman in his M.Sc. thesis outlined this parallel version and a modification from his algorithm to suit our purpose is shown in Figure 6.17.

Figure 6.17 Algorithm: Parallelized Progressive Radiosity. Adapted from [Goldman, 1994]. Shaded text denotes new additional from Figure 6.12. RADIANCE = 0; // 1st array index for patch power TO_BE_EMIT = 1; // 2nd array index for patch power ENERGY_TOLERANCE = 0.1 // A value close to zero which determine when // The iteration should stop in #1. Progressive_Radiosity(){ while (not converged){ for (each patch i){ Select patchi such that patch[patchi , TO_BE_EMIT] is highest; Partition the input elements n over the processors p such - - that each processor shoots to approximately n/p patches Parallel section for (other patches j){ Compute DRAD = raddiosity value between i & j; patch[patchi , TO_BE_EMIT] = patch[patchi , TO_BE_EMIT] + DRAD; patch[patchj , RADIANCE]= patch[patchj , RADIANCE] + DRAD; } } patch[patchi , TO_BE_EMIT] = 0; } }

This parallel progressive algorithm distributes its processors p over several elements n in a patch. A simple illustration is shown in Figure 6.18.

Figure 6.18 Distribution of 4 processors over 16 elements in a patch.

Unfortunately, Goldman did not do a time complexity analysis for this algorithm. An estimate based n on the time complexity established for serialized progressive algorithm would be O( + k), where m m is the number of processors used, and k is a constant factor for communications between the processors.

T S L Yeap Page 49 Radiosity for VR Systems University of Leeds

6.6 Acceleration Techniques for Virtual Reality Engine

As mentioned in the previous chapter, application of radiosity to Virtual Reality applications received attention by the research community very recently, evident by the lesser number of papers published. No papers (figure 6.19) specifically address this stage in the extended pipeline of radiosity, the reason as Forsyth et al. [Forsyth et al., 1994] put it “Predicting link events is a significant outstanding problem”. In their case, they were referring to dynamic environments where objects in the scene change positions. Similarly, it is equally difficult to predict where the user would move in a walk-through.

Figure 6.19 Acceleration Techniques for VR Engine Stage.

Solve Linear Model Surface Form Factor 3D Scene Radiosity VR Engine Environment Meshing Calculation Visualization Equations

nil

Existing approaches [Airey et al., 1990][Otake, 1995][Gibson, 1995][Forsyth et al., 1995][Möller, 1995][Möller, 1996][Drettakis et al., 1997] and those mentioned in earlier sections coupled their implementation tightly into the traditional radiosity rendering pipeline instead of being a stage by itself. As such, it is less flexible and cannot be easily adapted for use in other rendering systems.

6.7 Summary

In this chapter, we have introduced the concept of extended radiosity pipeline by adding an extra stage into the standard pipeline - VR engine. Two techniques namely adaptive meshing and radiosity textures were reviewed under accelerated techniques for surface meshing stage. Monte Carlo methods were reviewed for accelerated form factor computation. Next, we looked at progressive radiosity and its parallel version for accelerating the solution of radiosity equation and finally we inspected papers that were devoted for VR applications directly, though their techniques were tightly coupled into various stages in the standard pipeline.

In the next chapter, we will look at two novel techniques suitable for VR systems using radiosity.

T S L Yeap Page 50 Radiosity for VR Systems University of Leeds Chapter 7

Novel Approaches for VR Applications

7.1 Introduction

Hitherto, we have seen several acceleration techniques that were either used by researchers for VR applications or may be suited to VR applications. We note that all radiosity researchers coupled their techniques into the traditional radiosity pipeline. In this chapter, the first novel approach we introduce is Progressive Meshes Progressive Radiosity, which is coupled into the surface meshing stage of the traditional radiosity pipeline. The second novel approach we present is suitable for the VR Engine stage in the extended radiosity pipeline - Motion Prediction with PDM (Point Distribution Model).

In both these new approaches, we are using architectural model for illustration purposes directed to VR applications such as walk-through. Nevertheless, these approaches are equally suited to other applications such as for cockpit simulation, scientific visualization, medical simulation, etc.

Figure 7.1 Chapter 7 Road Map.

Chapter 1 Introduction 7.1 Introduction

Chapter 2 Chapter 5 Radiometry Radiosity and Photometry Trends Analysis 7.2 First Novel Approach 7.2.1 Background: Progressive Meshes Chapter 3 Class Class Class Class 7.2.2 Progressive Meshes Progressive Radiosity Traditional Illumination R S H V and Shading Models 7.2.3 A Parallel Solution for PMPR 7.2.4 Potential Hybrids Chapter 6 Chapter 4 Acceleration Techniques Radiosity Principles for VR Applications 7.3 Second Novel Approach 7.3.1 Background: Point Distribution Model Chapter 7 Novel Approaches for 7.3.2 Background: Neural Networks VR Applications 7.3.3 Motion Prediction with PDM 7.3.4 Potential Hybrids Chapter 8 The Road Ahead and Conclusion 7.4 Summary

T S L Yeap Page 51 Radiosity for VR Systems University of Leeds

7.2 First Novel Approach

A complex architectural environment (including objects and decorations) is often made up of several millions of polygon. Consequently, a radiosity solution for a static scene would easily take several hours to render because of the quadratic number of form factors to be computed. This leaves the real-time rendering of a scene an elusive goal.

Polygonal simplification was a dormant field for several years until recently, as judged by the recent increase in papers. Polygonal simplification (PS) is the act of transforming a three-dimensional polygonal model or mesh into a simpler version [Erikson, 1996]. PS reduces the number of polygons needed to represent the model while maintaining its original shape and appearance as close as possible - often, it is possible to specify the trade-off between accuracy and simplify representation. Erikson classified PS algorithms into three categories namely adaptive subdivision, geometry removal and sampling. As seen in the previous chapter, adaptive subdivision algorithm also known as adaptive meshing [Cohen et al., 1986] was the earliest method of PS used in radiosity rendering. Geometry removal algorithm simplifies the original model by repeatedly removing the polygon of a complex model until either the model can no longer be simplified or some user-specified approximation is reached. There are two stages in the sampling algorithm: Firstly, it samples the geometry of the original model by either taking a number of random points or by overlaying it with a three-dimensional grid. Next, the algorithm tries to simplify the model by doing a best fit to the samples.

In this section, we will provide a background of a method known as progressive meshes which incorporated geometry removal algorithm as well as several advantages followed by our method known as Progressive Meshes Progressive Radiosity (figure 7.2). In additional, we will also outline a list of possible variations that one could explore.

Figure 7.2 First Novel Approach: Progressive Meshes Progressive Radiosity.

Solve Linear Model Surface Form Factor 3D Scene Radiosity VR Engine Environment Meshing Calculation Visualization Equations

First Novel Approach Progressive Meshes Progressive Radiosity

T S L Yeap Page 52 Radiosity for VR Systems University of Leeds

7.2.1 Background: Progressive Meshes

Hoppe [Hoppe, 1996] from Microsoft Research recently introduced a very useful polygon representation known as progressive mesh (PM). This new scheme addresses several practical problems in computer graphics: mesh simplification2, smooth geomorphing level-of detail (LOD) approximation, progressive transmission, mesh compression and selective refinement .

In essence, a progressive mesh is made up of a principle mesh M0 and a set of sub-meshes M1, M2, M3, …, Mn such that when an operation known as vertex split (vsplit or F) is done on each mesh, it will produce a more detailed mesh; that is M0 F M1 F M2 is more detailed than M0 F M1. The inverse operation of which resulted in a less detailed mesh known as edge collapse (ecol or T) such that the original complex mesh, MX = Mn T Mn-1 T Mn-2 T … T M2 T M1 T M0. Figure 7.3 shows an example of both vertex split and edge collapse operations on an original mesh.

Figure 7.3 Illustration of vertex split and edge collapse.

vsplit vsplit

ecol ecol

2 Mesh simplification: The Original complex model can be simplified by a nearly indistinguishable approximation counterpart with far fewer polygons. Previously this process was manual. Now mesh simplification tools can automate this painstaking task.

Smooth geomorphing LOD approximation: Improved performance can be achieved by defining several versions of a model at various levels of details [Funkhouser et al., 1993][Schaufler et al., 1995]. A detailed mesh is used when the object is close to the viewer, and coarser approximations are substituted as the object retreats. Often, such instantaneous switching between the LOD meshes creates perceptual ‘popping’ effects, smooth geomorphing reduces these effects.

Progressive transmission: When a mesh is transmitted over the network the scene progressively approximate itself closer to the original model as data is incrementally received. One approach is to transmit successive LOD approximations but this would caused additional transmission time.

Mesh compression: There are generally two ways: polygonal or mesh simplification by geometry removal or by mesh compression - lossless compression of the original mesh.

Selective refinement: Each mesh in the LOD approximation is fixed. It is often desirable to have part of the scene more detailed than the rest. For example, if the user is looking at the ceiling, the mesh on the ceiling can become progressively more detailed.

T S L Yeap Page 53 Radiosity for VR Systems University of Leeds

Through repeated operations of edge collapse on the original complex mesh, we have a natural mesh simplification (figure 7.4). Moreover, the interesting property of vertex split operation (and its inverse, edge collapse) is that a smooth visual transition (a geomorph) can be created between the two meshes Mi and Mi+1 through Mi F Mi+1 [Hoppe, 1996]. Furthermore, PM also means that 0 progressive transmission is possible by sending over M and subsequently sequences of vspliti until the desired level of realism is achieved. In practice, we might only need the first few vspliti. Hoppe’s results based on figure 7.4 shows a compression ratio of 15:1 when a simplified mesh is used instead of the original mesh. PM also supports selective refinement, whereby detail is added to specific area in the scene by using specific vspliti.

Figure 7.4 Mesh simplification of radiosity solution. Left: Original image using mesh with 150,983 polygons, middle: image using simplified mesh with 10,000 faces, right: simplified mesh. (Courtesy of Hoppe [Hoppe, 1996]).

7.2.2 Progressive Meshes Progressive Radiosity

We have seen the prowess of progressive radiosity in chapter 6 where a convergence of 80% was achieved within 25 steps. However, all progressive radiosity implementation uses the original complex mesh throughout the computation. Figure 7.5 shows a 6 snapshots of a scene rendered using progressive radiosity giving final solution in scene 6. Figure 7.5 Six snapshots of Progressive Radiosity rendered scene. (Courtesy of Lightscape Ltd).

T S L Yeap Page 54 Radiosity for VR Systems University of Leeds

PMPR incorporated progressive meshes allowing the scene to be presented accurately with several levels of detail. In addition, PMPR initial solutions use the principle mesh (in our example, our principle mesh is only 0.2% of the original mesh), see Figure 7.6 - scene 1 to 6. The scene is repeatedly refined using progressive radiosity, such that each solution is illuminated to convergence. Once a desired level of convergence is achieved with this coarse mesh, the finer meshes are introduced (through sequences of vspliti) up to a point where the desired level of detail is achieved. Figure 7.6 - scene 6 is the coarse representation of the final solution in Figure 7.5 - scene 6, and progressively, the mesh becomes finer as seen in Figure 7.6 - scene 7 to 9.

Figure 7.6 Nine Snapshots of Progressive Meshes Progressive Radiosity rendered scene.

In a walk-through, various levels of detail of the scene would correspond to the speed at which the user is walking, such that if the user is running, a lower level of detail is required (Figure 7.6 - scene 7) and if the user is strolling, a higher level of detail is desirable (Figure 7.6 - scene 8 or 9). However, in the case whereby the user is running but focusing on a specific region - e.g. on the right of the wall, then a combination of meshes could be used (recall the selective refinement feature in progressive mesh), see figure 7.7.

Figure 7.7 PMPR Scene with Selective Refinement. (a) User is looking at the right paintings while walking forward. (b) User is looking at the ceiling while walking forward.

(a) (b)

T S L Yeap Page 55 Radiosity for VR Systems University of Leeds

The algorithm for Progressive Meshes Progressive Radiosity is outlined in Figure 7.8. The main difference between progressive radiosity algorithm (figure 6.16) and PMPR algorithm (figure 7.8) is the additional section which concern with the convergence of the mesh to the original complex mesh, MX .

Figure 7.8 Algorithm: Progressive Meshes Progressive Radiosity.

RADIANCE = 0; // 1st array index for patch power TO_BE_EMIT = 1; // 2nd array index for patch power ENERGY_TOLERANCE = 0.1 // A value close to zero which determine when // The iteration should stop in #1. num_vsplits = 0; // Number of vsplits max_vsplits = 0; // maximum vsplits for final mesh construction max_vsplits_percent = 80; // use 100 for a complete mesh. num_submesh = 0;

ProgMesh_ProgRadiosity(){ Get principle_mesh and num_vsplits and for model; max_vsplits = num_vsplits * max_vsplits_percent;

// Progressive radiosity based on a one coarse mesh (principle mesh) // with convergence based on close the radiance is to the final value. mesh = principle_mesh; while (not converged){ for (each patch I){ Select patchi such that patch[patchi , TO_BE_EMIT] is highest; for (other patches j){ Compute DRAD = raddiosity value between i & j; patch[patchi , TO_BE_EMIT] = patch[patchi , TO_BE_EMIT] + DRAD; patch[patchj , RADIANCE]= patch[patchj , RADIANCE] + DRAD; } } patch[patchi , TO_BE_EMIT] = 0; }

// Progressive meshes with slower progressive radiosity with

// convergence based on how close the mesh is to the MX . do while (num_submesh < max_vsplits){ num_submesh = num_submesh + 1; mesh = vsplit (mesh, num_submesh); // M = M F Mnum_submesh for (each patch I){ Select patchi such that patch[patchi , TO_BE_EMIT] is highest; for (other patches j){ Compute DRAD = raddiosity value between i & j; patch[patchi , TO_BE_EMIT] = patch[patchi , TO_BE_EMIT] + DRAD; patch[patchj , RADIANCE]= patch[patchj , RADIANCE] + DRAD; } } patch[patchi , TO_BE_EMIT] = 0; } }

T S L Yeap Page 56 Radiosity for VR Systems University of Leeds

7.2.3 A Parallel Solution for PMPR

This is similar to progressive radiosity, where it is easily suited for a parallel version. However, it would be a waste of resources if the principle mesh is used for the first section. Instead, we could introduce a new factor mid_vsplits_percent such that the first sequence of iterations would use a finer mesh in place of the coarse one. However, in general, it is not easy to determine the actual percentage to be used because each model is different.

An illustration of this algorithm is visualised in figure 7.9. The principle mesh is 11% of the original mesh.

Figure 7.9 Nine Snapshots of Parallized PMPR rendered scene.

T S L Yeap Page 57 Radiosity for VR Systems University of Leeds

Figure 7.10 outlines the algorithm for the parallised version of PMPR algorithm.

Figure 7.10 Algorithm: Parallized Progressive Meshes Progressive Radiosity.

RADIANCE = 0; // 1st array index for patch power TO_BE_EMIT = 1; // 2nd array index for patch power ENERGY_TOLERANCE = 0.1 // A value close to zero which determine when // The iteration should stop in #1. num_vsplits = 0; // Number of vsplits max_vsplits = 0; // maximum vsplits for final mesh construction mid_vsplits_percent = 40; max_vsplits_percent = 80; num_submesh = 0;

ProgMesh_ProgRadiosity(){ Get principle_mesh and num_vsplits and for model; max_vsplits = num_vsplits * max_vsplits_percent;

// Progressive radiosity based on a one coarse mesh (principle mesh) // with convergence based on close the radiance is to the final value. mesh = princple_mesh; while (not converged){ for (each patch I){ Select patchi such that patch[patchi , TO_BE_EMIT] is highest; Partition the input elements n over the processors p such - - that each processor shoots to approximately n/p patches Parallel section for (other patches j){ Compute DRAD = raddiosity value between i & j; patch[patchi , TO_BE_EMIT] = patch[patchi , TO_BE_EMIT] + DRAD; patch[patchj , RADIANCE]= patch[patchj , RADIANCE] + DRAD; } } patch[patchi , TO_BE_EMIT] = 0; }

// Progressive meshes with slower progressive radiosity with // convergence based on how close the mesh is to the MX . do while (num_submesh < max_vsplits){ num_submesh = num_submesh + 1; mesh = vsplit (mesh, num_submesh); // M = M F Mnum_submesh for (each patch I){ Select patchi such that patch[patchi , TO_BE_EMIT] is highest; Partition the input elements n over the processors p such - - that each processor shoots to approximately n/p patches Parallel section for (other patches j){ Compute DRAD = raddiosity value between i & j; patch[patchi , TO_BE_EMIT] = patch[patchi , TO_BE_EMIT] + DRAD; patch[patchj , RADIANCE]= patch[patchj , RADIANCE] + DRAD; } } patch[patchi , TO_BE_EMIT] = 0; } }

T S L Yeap Page 58 Radiosity for VR Systems University of Leeds

7.2.4 Potential Hybrids

A list of variations based on PMPR that could be explored in detail are:

· Progressive Meshes Monte Carlo Radiosity (PMM-CR): This method combines Progressive Mesh with Monte Carlo radiosity [Feda et al., 1993][Rushmeier et al., 1993][Sbert et al., 1995]. This would allow faster radiosity convergence. Recall that the time complexity for Monte Carlo radiosity is O(n). As compared to the average time complexity of progressive radiosity of O(n) with worse case of O(n2 ).

· Multi-resolution Meshes Progressive Radiosity (MM-PR): Lounsbery et al. used wavelet theory [Lounsbery et al., 1994] to create a multi-resolution representation of a mesh which was extended by Matthias et al. to compactly store multiple level of detail within one model [Matthias et al., 1995]. Progression of different level of detail of the meshes are possible simply by adding or subtracting wavelet coefficients (similar to operations like vsplits and ecol in our PMPR). The radiosity implementation of MMPR is very similar to PMPR (algorithm in Figure 7.8 and Figure 7.10), that is replacing vsplits with adding and ecol with subtracting. The main advantage of this method is that it is possible to edit the model at each LOD.

· A Generic Multiresolution Meshes Progressive Radiosity (GMM-PR) is another possibility where the data structure we used need not be confined to wavelet coefficients, but others such as image pyramids [Rosenfield, 1984], volume pyramids [Sakas et al., 1991], texture and reflectance [Perlin, 1984], multiple angles pictures [Chen, 1993], ray space [Heckbect et al., 1994] and polygonal models [Turk, 1992].

· Progressive Adaptive Meshes with Progressive Radiosity (PAM-PR): This method would avoid the need for pre-processing the original mesh into principle mesh and its sub-meshes. However, this would mean that the mesh is being computed together with the radiosity solution rather than reading it from a file or memory. Selective refinement is not possible for this method because an adaptive mesh would refine the scene globally rather than locally.

T S L Yeap Page 59 Radiosity for VR Systems University of Leeds

· Progressive Monte Carlo Meshes Progressive Radiosity (PMCM-PR): This method samples the geometry of the original model using a Monte Carlo method followed by progressive radiosity. This method allows global refinement by increasing the number of samples, although local selective refinement is not easy to achieve.

· Paranomical Meshes Progressive Radiosity (PNM-PR): Paranomical mesh is a result of an affine transformation (translation, rotation and scaling operations) of a 3D mesh into 2D representation, exhibited by Quick-time Virtual Reality and RealSpace 3D technology introduced in 1996. See the resources from Lightscape in the thesis CDROM for examples.

Since an explanations of other variants would span several pages, several other proposed hybrid solutions are summarised in table 7.1. Only extensive experimental test can reveal which of the hybrid or hybrids are the best in terms of speed and/or quality.

Table 7.1 Seventy-two Potential Radiosity Hybrids. PR MCR HR IR WR POR PM X 3 X X X X X PAM X X X X X X MCM X X X X X X PNM X X X X X X WM X X X X X X IP X X X X X X VP X X X X X X TM X X X X X X MPM X X X X X X RSM X X X X X X PM X X X X X X PSCM X X X X X X

PM Progressive Meshes PR Progressive Radiosity PAM Progressive Adaptive Meshes MCR Monte Carlo Radiosity MCM Monte Carlo Meshes HR Hierarchical Radiosity PNM Paranomical Meshes IR Importance-based Radiosity [Smits et al., WM Wavelet Meshes 1992] IP Image Pyramids WR Wavelet radiosity VP Volume Pyramids POR Photon-based Radiosity [Jensen, 1995] TM Texture/Reflectance Meshes MPM Multi-angles Picture Meshes RSM Ray Space Meshes PM Polygonal Meshes PSCM Progressive Simplical Complex Meshes [Hoppe et al., 1997]

3 Combination of PM and PR, Progressive Meshes Progressive Radiosity (PMPR)

T S L Yeap Page 60 Radiosity for VR Systems University of Leeds

7.3 Second Novel Approach

One of the major problems in a VR walk-through lies in predicting where the user will move in the subsequent instance. It is not obvious neither in radiosity community nor in VR community how this problem can be resolved. Cracking this problem would yield many benefits, such as the ability to focus the rendering of scene to specific area more quickly rather than rendering all other scenes in which the user might not be interested. Moreover, the results based on the typicality of user paths allows designers and psychologists to evaluate the system quantitatively. For example, in a driving simulator where the designer layout a specific set of complex roads, we could identify the user driving pattern from one point to another, and subsequently predict a new user driving pattern. This enables designers to modified the road layout in order to ensure minimal road congestion and allow the psychologist to study why a specific route is taken instead of another. This is an active area of research - see the “Advanced Driving Simulator” in University of Leeds [Blana, 1996abc][SCS et al., 1997], between School of Computer Studies, School of Transport Studies and Psychology Department.

As mentioned in the previous chapter, existing approaches [Airey et al., 1990][Otake, 1995][Gibson, 1995][Forsyth et al., 1995][Möller, 1995][Möller, 1996][Drettakis et al., 1997] coupled their implementation tightly into the traditional radiosity rendering pipeline. Instead, we present a generic framework which allows us to plug our solution into either radiosity specific systems and any other graphics system such as “Advanced Driving Simulator” that uses other computer graphics techniques - Fourier synthesis and Gouraud shading.

In this section, we provide a background of the two methods; firstly, the theory of Point Distribution Model (PDM) and secondly, the concept of Neural Networks (NN). Armed with this knowledge, we introduce our method known as Motion Prediction with PDM (figure 7.11). In addition, we will also outline a list of possible variations that one could explore. Note that our method originated from work done by researchers from Vision Group (University of Leeds) in machine vision applications [Baumberg et al., 1993][Shen X et al., 1993][Baumberg et al., 1994] [Baumberg et al., 1995][Shen X et al., 1995][Johnson, 1995][Sumpter et al., 1997].

Figure 7.11 Second Novel Approach: Motion Prediction with PDM.

Solve Linear Model Surface Form Factor 3D Scene Radiosity VR Engine Environment Meshing Calculation Visualization Equations

Second Novel Approach Motion Prediction with Point Distribution Model

T S L Yeap Page 61 Radiosity for VR Systems University of Leeds

7.3.1 Background: Point Distribution Model

The Point Distribution Model (PDM) is a statistical shape description method that is constructed from a set of training examples [Cootes et al., 1992]. This models include a mean shape and the significance variations. This model is equally realistic. It is built from a set of real life examples but one could alternatively do an on-line observation and construct an off-line example for training. For each image (training example), a set of landmark points is derived (Figure 7.12). Traditionally, the landmark points were derived manually, however we could automate [Johnson et al., 1995] this process based on the video sequences from the examples.

Figure 7.12 Image sequences and PDM. Landmarks in (f) is based on (e) (Courtesy of Neil Johnson).

An alignment of the training set with respect to varies transformation - rotation, translation and scale [Sonka et al., 1997] - is done resulting in a vector of mean shape of x and y co-ordinates and based on this mean shape. Subsequent measurement of variation of each image can be derived resulting in a covariance matrix. Using a method known as Principal Component Analysis (PCA) [Jolliffee, 1986], it is possible to pick out the main axes of the matrix which model only the first few variations. These few variations account for the majority of the variation (e.g. up to 90% of the variation).

PDM could be extended to include additional parameters such as velocity, acceleration, additional dimension, additional co-ordinates of another entity, distance from a specific entity etc. [Sumpter et al., 1997].

T S L Yeap Page 62 Radiosity for VR Systems University of Leeds

7.3.2 Background: Neural Networks

There are many definitions to Neural Networks (NN) but to us, it is an adaptive pattern processing system [Cruz, 1991] that is good at learning the recognition of patterns. NN consists of a set of simple network elements (nodes and links), each of which is an independent processor. In addition, NN does not contain any program, its behaviour is in fact determined solely by the network topology and the element parameters. Its adaptive nature means that NN can learn from examples and subsequently be used to predict the outcome of certain events.

Neural networks are statistics for amateurs [Anderson, 1995]. Oja found that NN is good for PCA [Oja, 1982] and Linsker describe a self-organising NN that includes PCA [Linsker, 1988]. One of the most widely used NN is known as back-propagation network [Rumelhart, 1986], which in essence learns a pattern by modifying its parameters (internal weights). However, an empirical study done on the speed of back-propagation network [Fahlman, 1988] revealed that this method does not perform well as tasks become larger and more complex. Johnson used an unsupervised learning network similar to Kohonen network [Kohonen, 1982][Kohonen, 1984] for teaching his system to learn paths taken by people walking in a scene (Figure 7.13). Subsequently, the trained network is used to predict the paths that a new user is going to take (Figure 7.13). One of the beauties of NN is its ability to predict multiple paths, although the user would eventually only cover one path (Figure 7.13b and Figure 7.13e). Note that each path predicted by the NN is associated with a strength value, indicating how typical that particular route is.

Figure 7.13 Prediction of path(s) a user is going to take (Courtesy of Neil Johnson). White track(s) are predicted by the Neural Network, while red dots denotes actual path of the user.

T S L Yeap Page 63 Radiosity for VR Systems University of Leeds

7.3.3 Motion Prediction with Point Distribution Model

Despite many years of research into real-time radiosity, the goal of predicting the moves by the user in walk-throughs has proved elusive. Like the Space Race, we appear to be the first to fulfil this goal in the radiosity community by combining Neural Networks with the Point Distribution Model.

A walk-through is a fourth dimension4 problem, with time as the fourth dimension (see thesis CDROM for videos of SCS Foyer walk-throughs or the snapshots in Appendix D). We simplified each walk-through by using only two dimensions - from the plan perspective (Figure 7.14). In addition, a directional vector is introduced at each differential position (the rate of change of position with respect to time). In essence, each differential position, consist of its x-y co-ordinates and a direction. Formally, dP = f ( x , y , direction ) (7.1)

Figure 7.14 Plan perspective of several walk-throughs in SCS Foyer.

Legend: Routes: a,b,c,d,e,f,g,h,I,j,k: Important e: Videoconferencing room No. 1: a - b - c Landmarks f: M.Sc. lab, back door No. 2: a - bl - c a: SCS Foyer g: M.Sc. lab, main door No. 3: a - br - c b: SCS Foyer nearer to rest room h: Dr. B. Smith office No. 4: a - d - e bl: left side of b i: Dr. W. Riha office No. 5: a - d - g br: right side of b j: Dr. L. Proll office No. 6: a - d - f c: restroom k: Long room No. 7: a - d - I d: M.Sc. lab corridor No. 8: a - d - k

Assuming that the training route for use is No. 1 to No. 8 with 5 variations of route 5; that is, a total of 12 paths. For the simulation to be much more realistic, we may need several hundred training sets.

4 Our interpretation of the fourth dimension - time - is based on the theory of relativity [Schutz, 1990], although an equally compelling fourth dimension can be interpreted as a projection of 3D as in Dionys’s book Sphereland [Dionys, 1965]. This projection idea was originated from Abbott’s classic book Flatland [Abbott, 1952].

T S L Yeap Page 64 Radiosity for VR Systems University of Leeds

To cast the paths (e.g. route no. 1) into digital format for computation, each path is broken into several points known as control points and a reconstruction (Figure 7.15) is proceeded using B- splines [Bartels et al., 1987]. Figure 7.15c shows how close the reconstructed path is to the original path.

Figure 7.15 Reconstruction of route using B-spline. (a) Original path, with black dots refers to control points for reconstruction, gray route refers to original path. (b) Reconstructed path (black curves) based on control points in grey dots. (c) Overlay of original route (grey route) and constructed route in black.

(a) (b) (c)

Each path is then defined as:

P = (dP1 , dP2 , dP3 , …, dPn ) (7.2)

We then proceed to do the alignment process of all the paths resulting in a mean path and its mode of variations. This is proceeded by Principal Component Analysis to pick out the major modes of variation which account up to 85% or 90%. Once this is done, we would plug values of P into Johnson’s Neutral network system to train the network for pattern recognition.

Figure 7.16 shows three cases of prediction of a simple path leading to the Restroom (room C). Notice that the actual paths in Figure 7.16a to Figure 7.16c are not within any of the trained data set (Figure 7.12). This ability to predict the path early would mean that the radiosity rendering of the scene in the Restroom can start immediately such that it can be presented to the user when needed. It is recommended to use Progressive Meshes Progressive Radiosity because, irregardless of when the user steps into the Restroom, a solution of room C is still possible. In addition, if the user decided to remain in the Restroom for a period of time, the solution can still proceed progressively with PMPR.

Figure 7.16 Prediction of a simple path.

(a) (b) (c)

T S L Yeap Page 65 Radiosity for VR Systems University of Leeds

Figure 7.17 shows a case of predicting several complex paths leading to M.Sc. Lab. (room G). In Figure 7.17a, upon arriving at position d, the Neural Network predicted that there are five possibilities. In Figure 7.17b, after passing room F, the NN predicted that there are three more possible paths until the final destination is reached (Figure 7.17d)

Figure 7.17 Prediction of several complex paths.

(a) (b)

(c) (d)

As in Figure 7.17a, where five possible destinations are predicted, it would be a sheer waste of processor time to do any rendering at such an early stage. One recommendation to solve this problem is such that given n processors, no more than 2n scenes should be rendered concurrently. In cases, where there are more than 2n scenes predicted by the NN, one can either choose to select the scene that is closest to the current position (Strategy 1) or to choose the paths based on the strength value (Strategy 2). Table 7.2 shows the selected paths based on a combination of these criteria.

Table 7.2 Selected paths based on Number of Processor, type of Strategy and the list of predicted paths. Number of Processor(s) 1 2 3 Strategy 1 6 paths (5 Dest. + Current) a-d, a-d-e5 a-d, a-d-e, a-d-f, a-d-i a-d, a-d-e, a-d-f, a-d-i, a-d-g, a-d-k 4 paths (3 Dest. + Current) a-d, a-d-i a-d, a-d-i, a-d-g, a-d-k a-d, a-d-i, a-d-g, a-d-k 3 paths (2 Dest. + Current) a-d, a-d-g a-d, a-d-g, a-d-k a-d, a-d-g, a-d-k Strategy 2 6 paths (5 Dest. + Current) a-d, a-d-g a-d, a-d-g, a-d-e, a-d-i a-d, a-d-g, a-d-e, a-d-f, a-d-i, a-d-k 4 paths (3 Dest. + Current) a-d, a-d-g a-d, a-d-g, a-d-i, a-d-k a-d, a-d-g, a-d-i, a-d-k 3 paths (2 Dest. + Current) a-d. a-d-g a-d, a-d-g, a-d-k a-d, a-d-g, a-d-k

Note: 6 paths was based on Figure 7.16a, 4 paths is based on Figure 7.16b and 3 paths is based on Figure 7.16c.

5 Based on 1 processor, strategy 1, 6 paths predicted by the NN, the selected paths for rendering are: a-d (current path) and a-d-e (leading to the videoconferencing room.

T S L Yeap Page 66 Radiosity for VR Systems University of Leeds

7.3.4 Potential Hybrids

The use of Neural Networks is by no means the only way to predict user paths, we can tap from the pool of other machine learning techniques in Artificial Intelligence for such prediction. Other possible methods include the use of:

· Genetic algorithms (GAs) [Holland, 1975][Goldberg, 1988][Montana et al., 1989] which grow the best set of paths. The main ingredient for GAs are strategies for the reproduction, mutation, and selection of particular set of solutions.

· Nearest Neighbour Classification Techniques [Gose et al., 1996], where we simply store all the trained data set into an index database and when presented with a partial path, this path based on its discrete positions is compared with the data set in the database. The basis of comparison may be based on Euclidean metric, Manhattan metric or any statistical means. However, the size of database would eventually be very large resulting in a longer search time. It is crucial to use a good indexing scheme. One possible solution would be a tree-like index in which variations in the paths are stored down the leaves.

7.4 Summary

In this chapter, we have introduced two new methods - Progressive Meshes Progressive Radiosity and Motion Prediction with PDM (Point Distribution Model), both of them suitable for using radiosity in VR applications. A list of hybrids such as Progressive Meshes Monte Carlo Radiosity, Multi-resolution Meshes Progressive Radiosity, use of Genetic Algorithms to predict user paths, etc. Although it appears that all these methods are look very promising for real-time radiosity in VR applications, we are cautious in that there may be unforeseen problems in actual implementations.

In the next chapter, we will look at the future of radiosity in computer graphics, review our contributions and conclude our case.

T S L Yeap Page 67 Radiosity for VR Systems University of Leeds Chapter 8

The Road Ahead and Conclusion

8.1 Introduction

In this concluding chapter, we will look at what lies ahead for radiosity, whether it will just whither away or is there more to come. In additional, we will also review our contributions in this work, including a mention of the compilation of various resources for future researchers. And lastly, based on what we have established in this thesis, we will look at what is the additional work that can be done - both for ourselves and for radiosity researchers who are interested to continue the quest in applying radiosity to VR systems.

Figure 8.1 Chapter 8 Road Map.

Chapter 1 Introduction

Chapter 2 Chapter 5 Radiometry Radiosity and Photometry Trends Analysis

Chapter 3 Class Class Class Class Traditional Illumination R S H V and Shading Models

Chapter 6 Chapter 4 Acceleration Techniques Radiosity Principles for VR Applications 8.1 Introduction

Chapter 7 Novel Approaches for 8.2 The Road Ahead VR Applications

8.3 Contributions Chapter 8 The Road Ahead and Conclusion 8.4 Future Work

T S L Yeap Page 68 Radiosity for VR Systems University of Leeds

8.2 The Road Ahead

We were elated with the response from radiosity researchers and hobbyists (Appendix B) in the survey that was carried out over the Internet newsgroups and through electronic mails during the period of April 1997 to August 1997 and were particularly pleased to receive a response from the father of radiosity - Professor Donald Greenberg. In this section, our views on the future directions of radiosity are based on the comments by the survey participants and the analysis of papers that were submitted to highly acclaim conferences such as EUROGRAPHICS ’97 [EUROGRAPHICS, 1997], SIGGRAPH ’97 [SIGGRAPH, 1997], Graphics Interface ’97 [GI, 1997], Parallel Rendering Symposium 97’ [PRS, 1997] and Symposium on Interactive 3D Graphics ’97 [SI3DG, 1997] - see Table 8.1.

Table 8.1 List of Radiosity related Papers Presented on Various ’97 Conferences. EUROGRAPHICS ‘97 E1. Using Subdivision on Hierarchical Data to Reconstruct Radiosity Distribution by Kobbelt, Stamminger, Seidel. E2. Radiosity with Well Distributed Ray Sets by Neumann, Neumann, Bekaert. E3. Optimal Source Selection in Shooting Random Walk Monte Carlo Radiosity by Sbert. E4. Bounded Radiosity - Illumination on General Surfaces and Clusters by Stamminger, Slusallek, Seidel. E5. A Rendering Equation for Specular Transfers and Interaction into Global Illumination by Yu, Wu SIGGRAPH '97 S1. Fitting Virtual Lights for Non-Diffuse Walkthroughs by Bruce Walter, Gun Alppay, Eric Lafortune, Sebastian Fernandez, Donald P. Greenberg (Cornell University). S2. Instant Radiosity by Alexander Keller (Universität Kaiserslautern). S3. Interactive Update of Global Illumination Using Line-Space Hierarchy by George Drettakis, Fran‡ois Sillion (iMAGIS/GRAVIR-INRIA). S4. Metropolis Light Transport by Eric Veach, Leonidas J. Guibas (Stanford University). S5. View-Dependent Refinement of Progressive Meshes by Hugues Hoppe (Microsoft Research). S6. View-Dependent Simplification of Arbitrary Polygonal Environments by David Luebke, Carl Erikson (University of North Carolina at Chapel Hill). S7. Surface Simplification Using Quadric Error Metrics by Michael Garland, Paul S. Heckbert (Carnegie Mellon University). S8. Progressive Simplicial Complexes by Jovan Popovic (Carnegie Mellon University), Hugues Hoppe (Microsoft Research). Graphics Interface ‘97 G1. An Image-Space Refinement Criterion for Linear Hierarchical Radiosity by I Martin, D Tost, and X Pueyo. Parallel Rendering Symposium ‘97 P1. Radiosity Parallel Hierarchical Radiosity on Cache-Coherent Multiprocessors by Jim Richard and Jaswinder Pal Singh Stanford University and Princeton University. P2. A Parallel Hierarchical Radiosity Algorithm for Complex Scenes by Chen-Chin Feng and Shi-Nine Yang National Tsing Hua University, Taiwan. P3. Towards Efficient Parallel Radiosity for DSM-based Parallel Computers Using Virtual Interfaces by Luc Renambot, Bruno Arnaldi, Thierry Priol and Xavier Pueyo IRISA, France and Universitat de. Symposium on Interactive 3D Graphics ‘97 I1. Efficient Rendering of Radiosity using Textures and Bicubic Interpolation by Rui Bastos, Michael Goslin and Hansong Zhang.

T S L Yeap Page 69 Radiosity for VR Systems University of Leeds

The papers in Eurographics ’97 were concentrated on both the quality and speed aspects of radiosity computation while all the radiosity papers in Siggraph ’97 (Table 8.1, S1 to S4), concentrated on radiosity for VR applications - which is the heart of our work. The remaining Siggraph papers (Table 8.1, S5 to S8) are applicable to the meshing stage of the radiosity rendering pipeline which were mentioned as part of our variations for our first new method introduced in Chapter 7. Parallized solutions were introduced for Hierarchy radiosity in both Graphics Interface ’97 and Parallel Rendering Symposium ’97. Finally, the paper by Basto et al. [Basto et al., 1995] which we had explored for applying rexes to radiosity solution in Chapter 6 was presented in another symposium - Interactive 3D Graphics ’97.

In essence, the future directions of radiosity are:

· Further exploration on even faster and more efficient meshing strategies and form factor computation. · More work to be done on perceptual error estimates for accessing the qualitative accuracy of a radiosity solution. [Lischinski, 1994]. · Further exploration on physically based definitions on the light sources and materials, especially for applications in lighting simulations in order to simulate accurate lighting conditions. · Real-time radiosity applications such as interactive walk-throughs that are able to achieve full motion frame rates and simultaneously displaying at final convergence of the radiosity solution. · The possibility of combination of photon maps to produce an even more accurate solution. · Exploration of parallel solutions for various new techniques in radiosity such as wavelet radiosity and importance-based radiosity. · Unlike ray tracing tools, radiosity tools are still very much restricted to researchers due to its complexity. Even though commercial products such as Lightscape and Lightworks are already in the market, radiosity for the less technical hobbyists is still unavailable. Some attempts to bridge this gap were being tried such as the introduction of Helios by Ashdown. However, at the present stage, Helios is in its infancy.

T S L Yeap Page 70 Radiosity for VR Systems University of Leeds

8.3 Contributions

The main focus of this research has been the exploration of techniques suitable for applying radiosity to VR systems. After the necessary introduction leading up to radiosity principles, we proceed to do a radiosity trends analysis (Chapter 5) using four main classifications: (1) radiosity and extended radiosity, (2) software accelerations techniques for radiosity, (3) hardware accelerations techniques for radiosity and (4) VR related radiosity. Next, we surveyed various works by radiosity researchers made suggestions on how their work could be used for VR applications (Chapter 6). Finally, we introduce two new techniques for applying radiosity to VR applications - Progressive Meshes Progressive Radiosity (PMPR) and Motion Prediction using Point Distribution Model (MP-PDM).

In our first technique - PMPR, we allow the initial solution to be a use coarse mesh and the use of progressive radiosity to produce useful scenes very quickly. Upon reaching a desired convergence level, the mesh is progressively more complex using an operation known as vsplits. Based on the time complexity of progressive radiosity done by researchers, we are aware that our PMPR method might be one of the fastest radiosity computation for a scene with various level of details.

In the second method - MP-PDM, we attempted to predict where the user will go in the walk- through, and thus render the predicted scenes even before the user reach the destination. PMPR method could be easily combined with this method to achieve an even more spectacular result.

However, due to space constraints, we leave the empirical comparison between our methods and existing methods for future work (see next section).

If not for the kindness of many radiosity researchers (see Acknowledgements) in both academia and organisations who have (1) exchange ideas with us, (2) made their works and resources available on the Internet, we would not have been able to achieve as much as we hope to. In return, we have decided to compile all the radiosity resources that we have found into a CDROM (See Appendix F for the contents of the CDROM) and make it available on the web [Yeap et al., 1997a]. In addition, we have compiled a book titled “Selected Papers on Radiosity” (See Appendix E for the contents of the book) which consist of the important radiosity papers. These papers are organised based on the our classifications established in the radiosity trends analysis. Our aim is to provide a consolidated radiosity resource location for all future radiosity researchers and enthusiasts.

T S L Yeap Page 71 Radiosity for VR Systems University of Leeds

8.4 Future Work

Based on the foundation we have established in this thesis, the areas which we have identified for further research are as follows:

· Further analysis of the other seventy-one PMPR hybrids (recall Table 7.1) and implementing those potentially good combinations.

· Although we have a feeling that PMPR and its hybrids are among the best radiosity algorithm for VR systems, in terms of computational speed vs the levels of detail, only an empirical comparison between our methods and all known radiosity algorithms can confirm this hypothesis.

· There is no doubt that the progressive meshes that we introduced into PMPR are among the most powerful meshing strategies that allow levels of detail. Nevertheless, we will be keeping track of new developments in similar methods that allow meshes to become finer successively. We note that in the recent Siggraph ’97, Hoppe introduced a variation of Progressive Meshes that allows view-dependent refinement which might be useful for our purpose.

· In our second new technique introduced, the key evolutionary algorithm we used is a Neural Network. We look forward to analysing other evolutionary algorithms such as Genetic Algorithms and Fuzzy Logic for their suitability in predicting a user paths in an interactive walk-through.

T S L Yeap Page 72 Radiosity for VR Systems University of Leeds Appendix A

Colour Figures

This chapter contains selected colour figures from Chapter 3 to 7.

Figure 3.2 Spheres shaded showing variation of magnitude in ambient component over the surface of each sphere. From left to right, increasing amount of cyan ambient reflection.

Figure 3.3 Spheres shaded showing variation of magnitude in diffuse component over the surface of each sphere. From left to right, increasing amount of cyan diffuse reflection.

Figure 3.4 Spheres shaded showing variation of magnitude in specular component over the surface of each sphere. From left to right, increasing amount of specular reflection.

Figure 3.5 Toy duck using flat shading.

T S L Yeap Page 73 Radiosity for VR Systems University of Leeds

Figure 3.6 Toy duck using Gouraud shading.

Figure 3.7 Toy duck using Phong shading.

Figure 3.8 Ray traced Glasses. Generated using Povray 2.2. Modified from original model by Graeme and Perry Van Dongen “Pen & Glasses on Red/Black Tiles”.

Figure 4.2 Design Studio of the Future (a) Actual photo (b) Radiosity image (Courtesy of Architecture Electronic Studio, MIT, by Philip Thompson and Jack Devalpine).

T S L Yeap Page 74 Radiosity for VR Systems University of Leeds

Figure 5.2 Graph Plot of Radiosity Trends Analysis.

Figure 6.14. Traditional and Progressive Refinement. (a) Traditional Gauss-Seidel iteration of 1, 2, 24 and 100. (b) Progressive Refinement (PR) iteration of 1, 2, 24 and 100 (c) PR + Ambient factor iteration of 1, 2, 24 and 100. (Courtesy of Michael Cohen [Cohen et al., 1988]). (a) (b) (c)

Figure 7.4. Mesh simplification of radiosity solution. Left: Original image using mesh with 150,983 polygons, middle: image using simplified mesh with 10,000 faces, right: simplified mesh. (Courtesy of Hoppe [Hoppe, 1996]).

T S L Yeap Page 75 Radiosity for VR Systems University of Leeds

Figure 7.5 Six snapshots of Progressive Radiosity rendered scene. (Courtesy of Lightscape Ltd).

Figure 7.6 Nine Snapshots of Progressive Meshes Progressive Radiosity rendered scene.

Figure 7.7 PMPR Scene with Selective Refinement. (a) User is looking at the right paintings while walking forward. (b) User is looking at the ceiling while walking forward.

(a) (b)

T S L Yeap Page 76 Radiosity for VR Systems University of Leeds

Figure 7.9 Nine Snapshots of Parallized PMPR rendered scene.

Figure 7.12 Image sequences and PDM. Landmarks in (f) is based on (e) (Courtesy of Neil Johnson).

T S L Yeap Page 77 Radiosity for VR Systems University of Leeds

Figure 7.13 Prediction of path(s) a user is going to take (Courtesy of Neil Johnson). White track(s) are predicted by the Neural Network, while red dots denotes actual path of the user.

T S L Yeap Page 78 Radiosity for VR Systems University of Leeds

HTML.Figure 1 Thesis CDROM: Front Page.

Figure F.1 Thesis CDROM: Main Menu.

T S L Yeap Page 79 Radiosity for VR Systems University of Leeds Appendix B

Radiosity Survey Results

B.1 Introduction

This survey was undertaken as a form of background research with working practitioners and techies who have experienced with radiosity.

Specific newsgroups were initially targeted hoping that responses would be rich. Out of the thousands newsgroups, eight were targeted: comp.graphics.algorithms comp.graphics.rendering.raytracing comp.graphics.rendering.misc comp.graphics.research comp.sys.sgi.graphics comp.graphics.visualization comp.graphics.apps.lightwave comp.graphics.apps.wavefront

The first six were considered general newsgroups appropriate for the questionnaire, as participants would also be interested in other aspects of Computer Graphics. It was disappointing to find out that comp.graphics.research appears to be inactive and no mails were exchanged in that group. The last two groups were selected targeting at participants who uses radiosity aspects in Lightwave and Wavefront.

To try to get the best possible responses, questions were kept short and to the point. There are only six questions starting from personal opinion to more objective opinion on radiosity.

Subsequently, this survey was conducted on the bulletin board of School of Computer Studies, University of Leeds under local.postgrads. It until mid-June that having grasp the essence of radiosity and the research community that we further extended this survey to specific radiosity researchers, both in the academia and organisation. Seven well-known radiosity researchers replied between June and July period and this was when I attained the next level of realisation on radiosity knowledge especially where its future lies.

T S L Yeap Page 80 Radiosity for VR Systems University of Leeds

Twenty three responses were collected and they were from:

Ian Ashdown [email protected] 11 Apr Luc Renambot [email protected] 18 Apr Erik Robson [email protected] 18 Apr Al Z [email protected] 18 Apr Ali Anghaie [email protected] 18 Apr Defee Pawel [email protected] 18 Apr Rakesh Malik [email protected] 18 Apr Antonio Costa [email protected] 20 Apr Gregory J. Ward [email protected] 21 Apr Abraham Kee [email protected] 22 Apr Neil Gatenby [email protected] 22 Apr Terrance Wong [email protected] 22 Apr Wim Dumon [email protected] 23 Apr Martin Thompson [email protected] 23 Apr Rob Love [email protected] 29 Apr Philip M. Hubbard [email protected] 19 Jun Ben Trumbore [email protected] 19 Jun Brian Smits [email protected] 19 Jun Simon Gibson [email protected] 20 Jun Donald Greenberg [email protected] 23 Jun Eric Lafortune [email protected] 23 Jun Sumant Pattanaik [email protected] 14 Jul Jiayi Chong [email protected] 3 Aug

B.2 Results

B.2.1. Is radiosity your preferred solution for generating realistic images? Why? If not, what are yours?

Radiosity solution is definitely the preferred solution for Greenberg because it is physically correct.

Defee is a firm supporter of radiosity, he mentioned that radiosity is superior when compared to ray- tracing in catching the global effects of light simulation. The effects that are captured well by ray-

T S L Yeap Page 81 Radiosity for VR Systems University of Leeds tracing, such as refraction or very directional lighting play only minor roles in the scenes from reality (it should be noted that current state of art in radiosity supports the latter effects).

Smits feels that a lot depends on the environment such that if the surfaces are primarily diffuse and there are many images to be generated, then radiosity is fine, however if he only needs one image and there are many mirror sufaces and other non-diffuse surfaces, radiosity would be the last choice.

Pawel noted that radiosity solution causes colour bleeding which is not evident in ray-tracing.

Anghaie noted that radiosity is best suited for indoor scenes.

Robson suggested that we should combine reflections, refraction (and transparency) in a radiosity renderer. In addition, he strengthened the argument that for radiosity, there is a problem of the closed-environment assumption that is needed to ensure energy conservation in the scene. For exterior scenes, he does not see much improvements over ray-tracing.

And finally, Wong, ray-traced the images after radiosity to get the reflections of shiny surfaces such as glass and polished stones. Moreover, his practical experience revealed that there is not much improvement for exterior scenes using radiosity over ray-tracing.

Competitors for radiosity: · Photo maps by Henrik Jensen (Z) whose works are great for caustics · Ray tracing with plentiful of lights (Anghaie) · Monte Carlo (Costa) approach like in Radiance. This is further supported by the author of Radiance (Ward) as it is faster for larger models and able to handle all kinds of inter- reflections and light sources. In addition, this is Lafortune favourite approach because it is simpler and more general. · Combination of radiosity and ray-tracing (Robson). Dumon agrees that better results are obtained using 2-pass methods, i.e. radiosity pass followed by ray tracing.

Gibson is currently working on illumination algorithms for virtual reality and he felt that radiosity is not the best method to generate accurate illumination, but it is the only view independent method available.

Z concluded that the best technique will be debated and researched forever.

T S L Yeap Page 82 Radiosity for VR Systems University of Leeds

B.2.2. What are the radiosity renderers in the market?

þ Lightscape þ Blue Moon Rendering tools by Larry Gritz þ Helios by Ian Ashdown þ Pixar Renderman þ Pov-ray v3.01 þ Electric Image þ Strata Studiopro þ SoftImage þ Microstation Masterpiece þ Raysmith þ HOOPS þ Specter þ Lightwork þ Mental Ray þ Radiance by Gregory J. Ward þ RenderPark

Pawel mentioned that the commercial ones are very buggy, slow and inflexible while the free ones are very primitive and he is currently using his own radiosity software.

Trumbore admitted that his favourite rendering program is his own ray tracer, he can tweak it as much as he need to. Moreover, he feels that most radiosity software he used before were difficult to control and even more difficult to modify. However, he is aware that ray tracer does not render physically correct scenes.

B.2.3. hat are the efficient ways to speed up computation of radiosity?

Love recognises that the problem is in the computation of form factors. As such, Ward hinted us not to compute form factors, and forget about meshing the scene (noting that he is using Monte Carlo approach in Radiance). Greenberg recommended that we separate energy distribution from rendering.

Trumbore suggested “shooting” method which was introduced by Cohen in his paper on progressive radiosity [Cohen et al., 1988]. In addition, efficient ray intersection which is common in ray tracing should also be considered. He cautioned us to control the meshing parameter carefully, so as to limit the number of mesh elements in the solution. And lastly, “importance” shooting method which concentrate the radiosity solution on only visible surfaces [Smits et al., 1992].

T S L Yeap Page 83 Radiosity for VR Systems University of Leeds

Smits noted that depending upon the type of radiosity we are using - Progressive or Hierarchical. Hierarchical radiosity which are based upon only computing transfers to a specified accuracy based on the specific transfer. Moreover, a combination of hierarchical radiosity and progressive algorithms are also possible. In addition, the ideas of better bounds on errors, better (faster or less accurate) visibility [Sillion et al., 1994], clustering, and importance will also improve the computational time.

Kee suggested Parallel computing which is supported by Rakesh. Moreover, Rakesh suggested that we should split the computation for each iteration across the available CPU's, and re-sync before the next one. In addition, he mentioned that extra memory would help.

Z, Costa and Love proposed Monte Carlo solutions. Lafortune, Chong and Gatenby recommended progressive refinement radiosity, hierarchical radiosity, wavelet radiosity and clustering. Meanwhile, Pawel suggests volume clustering.

In his current research at Manchester, Gibson is applying perceptual awareness to the generation of radiosity solutions. He noted that if the final goal is for generating photo-realistic images (as opposed to computing luminance plots or other lighting analysis methods), there is little point in computing aspects of the illumination that cannot be perceived by the viewer. Most of the radiosity transfers that occur during the computation of a converged solution are very small - it is therefore pointless applying much computation time to these. Aspects of radiosity simulation such as adaptive refinement, shadow testing using ray-casting, discontinuity meshing, clustering, and mesh optimisation can all benefit from perceptual awareness. The important thing to realise is that computation can be accelerated without the corresponding decrease in solution quality that is usually associated with other techniques (for instance, he found that it is possible to reduce the total number of rays needed for shadow casting by 96% without any decrease in solution quality).

B.2.4. What are the alternatives which produce better quality images than radiosity, or in general, for global illumination solutions?

Robson suggested an ad hoc approach; that we fake it with area lights and ambient light values although he recognised that neither works well.

T S L Yeap Page 84 Radiosity for VR Systems University of Leeds

Ward proposed an Intelligent Monte Carlo ray tracing, e.g. particle tracing, irradiance caching and beam tracing. Pawel noted that this is a brute force approach while Lafortune felt that Monte Carlo approach is a good approach and is more general. Trumbore noted that Monte Carlo methods and Density Estimation methods can account for both specular and diffuse light transfer, and therefore offer a more complete solution than radiosity.

Ashdown and his research partner have several ideas which he cannot talk openly yet, but he told us to read Winter 1997 issue of the Journal of the Illuminating Engineering Society.

Gatenby suggested Discontinuity Meshing radiosity and biased Monte Carlo path tracing.

Rakesh has seen ray-traced images with volumetric lighting that come very close, although he has yet to compare it with radiosity.

Gibson noted that photon map based algorithms produced a more accurate still image, however for view-independent scene, radiosity is still the best.

Smit pointed out that if we are interested only in quality, we should use Monte Carlo methods. Get a lot of fast machines first, and be prepared to wait a while however, if quality is measured by "does the picture look good", he suggest trying a hybrid radiosity/ray tracer, that is to use the radiosity system to compute the diffuse stuff and the ray tracer to handle mirrors and glass and lastly, the mentioned that there are a lot of variations on the hybrid scheme. Chong have the same feeling about combining radiosity and ray-tracing too.

B.2.5. Where are the good places to look for radiosity resources?

All contributions are compiled and can be found at http://www.singnet.com.sg/~tyeap/life- lu2.htm#thesis

B.2.6. What is the future for radiosity in computer graphics?

T S L Yeap Page 85 Radiosity for VR Systems University of Leeds

Smits stated that this is a religious question. He felt that radiosity will always be useful (especially so because finite element methods have proven way too important to other fields for us to be able to completely forget them). He also noted that interactive walkthroughs will stay and radiosity works well for these. Radiosity may also be much more appropriate during the design phase, as it can be made incremental and also the coarse solutions have some use to the designer. Robson felt that the use of radiosity in character animation is a waste of valuable production time.

Trumbore mentioned that graphics scenes are becoming more complex, containing more small polygons to represent smoother and smaller surfaces. These surfaces are not easily handled (efficiently) by traditional radiosity methods. At the same time, processing speeds are increasing much faster than memory availability. These factors favour methods that were once too computationally expensive, but are able to handle complex scenes without using much memory (Monte Carlo, Path Tracing). He felt that the future global illumination methods will include some of the features of current "radiosity" programs, but will not be limited to diffuse lighting and will not use the traditional radiosity's meshing and form factor approach.

Anghaie mentioned radiosity has a future in hybrid forms as graphics turn towards virtual sets and that all major companies are coming out with their own hybrid renderers (including Alias-Wavefront and Kinetix).

Chong is looking forward to real-time radiosity.

Lafortune and Costa also felt that we should combine radiosity with other solutions, that is hybrid radiosity.

Gibson noted that the future for radiosity is good, as long as we can address scalability and robustness issues. This is further supported by Pattanaik that radiosity will continue to be used and refined further to make it more reliable and versatile.

Ward suggested extremely complex scenes and image-based rendering to combine captured imagery with computer simulations.

Greenberg felt that the future for radiosity is excellent.

T S L Yeap Page 86 Radiosity for VR Systems University of Leeds

Love concluded that the future is good for radiosity and that it does need plenty of work. Some of the results are superb but the method is too closely linked to one reflection model. If that restriction can be lifted then it will be able to compete against other global illumination methods. The advantage of view-independent calculations is the big bonus for radiosity.

T S L Yeap Page 87 Radiosity for VR Systems University of Leeds

B.3 Actual Email Message Questionnaire/Survey

Computer Graphics: Ray Tracing and radiosity

Hi,

I'm currently working on my M.Sc. dissertation and would like to do a mini survey. If you are a working practitioner or techie in this area, I would appreciate your comments (feel free to answer or skip any questions)

I express my gratitude and gratefulness in advance.

T S L Yeap University of Leeds School of Computer Studies [email protected] (http://www.scs.leeds.ac.uk/mscytsy)

------begin

1. Is radiosity your preferred solution for generating realistic images? Why? If not, what are yours? Excellent radiosity images at http://www.graphics.cornell.edu/sampler/

2. What are the radiosity renderers in the market? (other than Lightscape-commercial, Helios-free, Pov-ray v3.01-free, Strata Studiopro, Microstation Masterpiece, HOOPS)

3. What are the efficient ways to speed up computation of radiosity?

4. What are the alternatives which produce better quality images than radiosity, or in general, for global illumination solutions?

5. Where are the good places to good for radiosity resources? (other than in Cornell University and Ian Ashdown resources)

6. What is the future for radiosity in computer graphics?

------end

PS: If you prefer to be anonymous during my acknowledgement in the dissertation, please feel free to let me know.

PSS: Announcement, POV Ray v3.01 for Windows 3.1/95/NT is out! And can be downloaded at www.povray.org

Groups posted: comp.graphics.algorithms comp.graphics.apps.lightwave comp.graphics.apps.wavefront comp.graphics.rendering.raytracing comp.graphics.rendering.misc comp.graphics.research comp.graphics.visualization comp.sys.sgi.graphics local.postgrads (at University of Leeds, bulletin board)

T S L Yeap Page 88 Radiosity for VR Systems University of Leeds Appendix C

Radiosity Illustrations

C.1 Illustration

An illustration [Sillion, 1994] based on geometrical situation with known analytic form factors are used. The actual figures were computed using Siegel, 1992 computed tables for parallel equal rectangles and rectangles at right angle.

Figure C.1 shows an infinite shelf consisting of three surfaces: a flat bottom and two wall (right angled to the bottom). The width of the floor B of the shelf is b, and the walls A and C each have a height of a. Defining g = a/b, there are six form factors relating to each pair of surfaces: FA,B, FB,A,

FA,C, FC,A, FB,C, and FC,B. Due to the geometry of the surfaces, we can simplify this to three form factors where FA,B = FB,A, FA,C = FC,A, FB,C = FC,B.

Figure C.1 A shelf with infinite length. [Redrawn from Sillion, 1994]

The three form factors are

2 FA,B = ½ (1 + g - 1+ g )

2 FA,C = 1+ g - g

2 FB,C = ½ (1 + (1/g) - 1+ (1/ g) (C.1)

The form factor matrix K is

é 1 -r A FA,B -r A FA,C ù ê ú K = ê - rB FB, A 1 - r B FB,C ú ê ú ê ú ë - rC FC, A - rC FC,B 1 û

T S L Yeap Page 89 Radiosity for VR Systems University of Leeds

In the first example (Figure C.2), the configuration of Wall A is that it emits some light while reflecting none. Floor B and Wall C reflected some light from A. The physical quantity of light emitted and reflected in this configuration is shown in the first column of Table C.1.

Figure C.2. Wall A radiating, Floor B and Wall C reflecting, [Adapted from Sillion, 1994]

Next (Figure C.3), we allow Wall A to be able to reflect light, while still emitting the same quantity of light. Likewise, Floor B and Wall C remains the same. We note that all three walls reflected slightly more light (Table C.1). This is because, the light reflected from Wall A is further reflected by Floor B and Wall C again.

Figure C.3. Wall A radiating, all walls reflecting, [Adapted from Sillion, 1994].

In the third instance, Floor B emits light while Wall A and C reflects it. As expected, due to the symmetrical alignment of the walls, both Wall A and C reflected the same amount of light (Table C.1).

Figure C.4. Floor B radiating, Floor B and Wall C reflecting, [Adapted from Sillion, 1994].

T S L Yeap Page 90 Radiosity for VR Systems University of Leeds

In the final case, Wall A and Floor B both emit and reflect light. We note that the illumination for Wall C goes up.

Figure C.5. Wall A and Floor B radiating, all walls reflecting, [Adapted from Sillion, 1994].

Table C.1 Quantitative results for Infinite Shelf environment. [Adapted from Sillion, 1994]

Reflectivity Radiosity

é r A ù é e A ù é M A ù ê ú ê ú ê ú ê r B ú ê e B ú ê M B ú ê ú ê ú ê ú ê ú ê ú ê ú ë rC û ë e C û ë M C û

é 0 ù é 1 ù é 1 ù ê ú ê ú ê ú Configuration 1 ê 1/ 2 ú ê 0 ú ê 0.11660 ú ê ú ê ú ê ú ëê 1/ 3 ûú ëê 0 ûú ëê 0.10354 ûú

é 1/10 ù é 1 ù é 1.00709 ù ê ú ê ú ê ú Configuration 2 ê 1/ 2 ú ê 0 ú ê 0.11743 ú ê ú ê ú ê ú ëê 1/ 3 ûú ëê 0 ûú ëê 0.10428 ûú

é 1/ 2 ù é 0 ù é 0.21133 ù ê ú ê ú ê ú Configuration 3 ê 0 ú ê 1 ú ê 1 ú ê ú ê ú ê ú ëê 1/ 2 ûú ëê 0 ûú ëê 0.21133 ûú

é 1/10 ù é 1 ù é 1.04647 ù ê ú ê ú ê ú Configuration 4 ê 1/10 ú ê 1 ú ê 0.02906 ú ê ú ê ú ê ú ëê 1/ 2 ûú ëê 0 ûú ëê 0.32853 ûú

T S L Yeap Page 91 Radiosity for VR Systems University of Leeds Appendix D

Walk-throughs Screen Snapshots

D.1 Introduction

A video on 12 walk-throughs were done along the foyer of School of Computer Studies (University of Leeds). The purpose of the walk-throughs is for illustration of our second method - Motion Prediction using Point Distribution Model. The actual videos can be found in the thesis CDROM, encoded in Quick-time movie format. Due to the present limitation of 2D report, we have included the snapshots of various stages of the walk-throughs - initial stage (0%), one-third (33%), two-thirds (67%) and final stage (100%).

D.1.1 Initial Stage Snapshots

T S L Yeap Page 92 Radiosity for VR Systems University of Leeds

D.1.2 One-third Stage Snapshots

D.1.3 Two-third Stage Snapshots

T S L Yeap Page 93 Radiosity for VR Systems University of Leeds

D.1.4 Final Stage Snapshots

T S L Yeap Page 94 Radiosity for VR Systems University of Leeds Appendix E

Contents of Book - “Selected Papers on Radiosity”

This appendix describe the content of the book accompanying the Thesis. The book consist of a collection of papers which was conceived during our research on radiosity, in particular for Virtual Reality applications. The first paper on radiosity appeared fourteen years ago [Goral et al., 1994]. Since then, research into radiosity has become very popular in the computer graphics field. To date, there are few good books which cover the subject of radiosity [Cohen et al. 1993][Ashdown, 1994][Sillion et al, 1994]. However, many times in the books, the details of specific technique can only be found in the original papers, as such, during the course of our research, we often had to seek reprints directly from the authors of those papers. We were kindly received by those authors who have provided us either with the original scripts or with electronic postscripts. A source book containing a selection from the more outstanding material seems appropriate to supplement the texts; hence the book.

We believe that the book would benefit radiosity researchers as well as final year graduate or postgraduate students doing a course involving radiosity as either part of a module or as a complete module itself.

During our research, we classified the radiosity papers and publications into four main categories; (1) Radiosity and related works, (2) software acceleration techniques, (3) hardware acceleration techniques and (4) radiosity for VR applications. In the book, in addition to the four categories, we have included another category - Suggestive techniques in radiosity for VR applications. Papers in the latter category are techniques that have not yet been applied to radiosity but were suggested to be suitable for doing so, in this thesis.

The criteria for including a paper in this anthology were determined by considering the perspective and insight it would afford potential readers interested in radiosity and radiosity for VR applications.

All radiosity materials, including this thesis, links to on-line radiosity papers and publications and many more can be found online [Yeap et al., 1997b][Yeap, 97c].

T S L Yeap Page 95 Radiosity for VR Systems University of Leeds

Below is an extract from the Table of Content from the book:

Preface

Section 1: Radiosity and Related Works

Modeling the Interaction of Light Between Diffuse Surfaces ...... 1 Goral C. M., Torrance K.E., Greenberg D. P. and B. Battaile (1984)

Radiosity Online: A Bibliography ...... 6 Ashdown I and Eric H. (1994)

Section 2: Software Acceleration Techniques for Radiosity

Geometric Simplification for Indirect Illumination Calculations ...... 8 Rushmeier H., Patterson C. and Veerasamy A. (1993)

Efficient Rendering of Radiosity using Textures and Bicubic Reconstruction ...... 13 Basto R., Goslin M. and Zhang H. (1995)

Direct Lighting Calculation by Monte Carlo Integration ...... 15 Shirley P. and Wang C (1994)

Time Complexity of Monte Carlo Radiosity ...... 19 Shirley P. (1991)

Hierarchical Solution Techniques for Realistic Rendering ...... 23 Sillion F. (1995)

Efficient Hierarchical Refinement and Clustering for Radiosity in Complex Environments ...... 26 Gibson S. and Hubbold R. (1996)

Wavelet Projections for Radiosity ...... 33 Schroder P., Gortler S., Cohen M., and Hanarahan P. (1993)

Importance and Discrete Three Point Transport ...... 35 Aupperle L. and Hanrahan P. (1993)

An Importance Driven Monte-Carlo Solution to the Global Illumination Problem ...... 40 Blasi P., Saec B. and Schlick C. ((1994)

An Empirical Comparison of Progressive and Wavelet Radiosity ...... 44 Willmot A. and Heckbert P. (1997)

T S L Yeap Page 96 Radiosity for VR Systems University of Leeds

Hybrid Radiosity / Monte Carlo Methods ...... 50 Shirley P. (1994)

Iterative methods for fast radiosity solutions ...... 62 Baranoski G., Bramley R and Shirley P. (1995)

Metropolis Light Transport ...... 81 Veach E. and Guibas L. (1997)

Efficient Radiosity in Dynamic Environments . . . . . 87 Forsyth D., Yang C. and Teo K. (1994)

Section 3: Hardware Acceleration Techniques for Radiosity

Parallel Progressive Radiosity with Adaptive Meshing ...... 95 Yu Y., Ibarra O. and Yang T. (1996)

Progressive Refinement Radiosity on Ring-Connected Multicomputers ...... 105 Capin T., Aykanat C. and Oezguec B. (1993)

Light, The Universe and Parallel Radiosity ...... 108 Brodsky A. (1996)

Partitioning and Parallel Radiosity ...... 119 Merzouk S., Winkler C., Paul J. (1995)

A Radiosity System for Real Time Photo-Realism . . . . . 122 Stuttard D., Worrall A., Paddon D., Willis C. (1995)

Parallel Radiosity without Form Factors ...... 127 Langer M., Breton P., Zucker S. (1993)

Section 4: Radiosity for VR applications

Virtual Radiosity ...... 138 Möller T. (1995)

Radiosity Techniques for Virtual Reality - Faster Reconstruction and Support for Levels of Details . . . . 162 Möller T. (1996)

Interactive update of Global illumination using a Line-space Hierarchy ...... 166 Drettakis G. and Sillion F. (1997)

T S L Yeap Page 97 Radiosity for VR Systems University of Leeds

Section 5: Suggestive Techniques to Radiosity for VR Applications

Generating Multiple Levels of Detail from Polygonal Geometry Models ...... 170 Schaufler G. and Stürzlinger W. (1995)

Generating Various Levels of Detail of Architectural Objects for Image-Quality and Frame-Rate Control Rendering ...... 175 Belblidia S., Perrin J. and Paul J. (1996)

Learning Spatiotemporal Models From Training Examples ...... 178 Baumberg A., Hogg D. (1995)

Learning the Distribution of Object Trajectories for Event Recognition ...... 186 Johnson N. and Hogg D. (1995)

Polygonal Simplification: An Overview ...... 191 Erikson C. (1996)

Progressive Mesh ...... 208 Hoppe H. (1996)

Progressive Simplical Complexes ...... 213 Hoppe H. (1997)

Mesh Optimization ...... 217 Hoppe H. (1993)

Simplification Envelopes ...... 232 Cohen J, Varshney A., Manocha D., Turk G., Weber H., Agarwal P., Brooks F. and Wright W. (1996)

T S L Yeap Page 98 Radiosity for VR Systems University of Leeds Appendix F

Contents of CDROM

This appendix describe the content of the CDROM accompanying the Thesis. The resources are deliberately compiled using Hypertext Mark-up Language (HTML), which can be viewed with any web browser such as Microsoft Internet Explorer or Netscape Navigator. The first file in the CDROM in the root directory to be loaded into the browser is WELCOME.HTM. Upon loaded, a logo page will be featured (See Appendix A, HTML.Figure 1 Thesis CDROM: Front Page). There are twelve main sections altogether in the CDROM namely: (1) Abstract; (2) Thesis; (3) Acknowledgements; (4) Graphics Gallery; (5) Videos, VRMLs; (6) Software, Source Codes; (7) Selected Papers on Radiosity; (8) Radiosity Papers on the Net; (9) Radiosity Abstracts & Bibliography Library; (10) People & Groups; (11) Auto Demo; (12) etc.

Figure F.1 Thesis CDROM: Main Menu.

T S L Yeap Page 99 Radiosity for VR Systems University of Leeds

: Thesis Abstract in HTML.

: Thesis Cover, TOC, Chapters, Appendix and Bibliography. Take note that this section requires browsers that support JAVA.

: Where I thank all those people who have kindly given to me of their time, energy and support in the production of this Thesis, CDROM and Book.

: Contains images that uses various CG techniques: (1) Flat shading; (2) Gouraud shading; (3) Phong Shading; (4) Ray Tracing; (5) Radiosity and various other hybrids techniques

: Contains walk-throughs that were used as examples in the main thesis. In addition, additional videos and VRML resources from Lightscape, Lightworks, Jacob and Johnson.

: Contains several radiosity renderers (Shareware, Freeware or Research products) for different platform such as PC, Linux, Solaris Sparc, Irix, SGI, etc.

: This is the electronic complement of our text book accompanying this thesis. In addition, we include papers and theses that were not included in the book, mainly due to their size.

: A one-stop place for radiosity papers/publications/theses/ technical reports that can be found on the Internet.

: An annotated collection of radiosity abstracts from Inspec and Dissertations Abstracts, and various radiosity bibliographies engines on the Internet.

: A collection of peoples’ homepage from the academia and research organisations, various CG Groups and useful links to radiosity resources on the Internet.

: Upon clicking this option, we will present a slide-show of selected materials in the CDROM. Good for hands-free demonstration.

: List of miscellaneous resources: Report documents, 3D Studio source, Povray source, original bibliographies collection, survey, etc.

T S L Yeap Page 100 Bibliography

Abbott E. (1952). Flatland. Dover Publications, Mineola, New York.

Airey J., Rohlf J. and Brooks F. (1990). Towards Image Realism with Interactive Update Rates in Complex Virtual Building Environments. Computer Graphics (1990 Symposium on Interactive 3D Graphics) 24:2, pp 41-50.

Anderson J. (1995). An introduction to Neural Networks. MIT Press. Cambridge, Massachusetts.

Arvo J. (1986). Backward ray tracing. SIGGRAPH ’86 Developments in Ray Tracing seminar notes.

Arvo J. and Kirk D. (1987). Fast ray tracing by ray classification. Computer Graphics (Siggraph 87’ Proceedings) 21:4, pp 55-64

Asensio F. (1992). A Hierarchical Ray-Casting Algorithm for Radiosity Shadows. Third Eurographics Workshop on Rendering, pp 179-188, Bristol, UK.

Aupperle L and Hanrahan P (1993), A Hierarchical Illumination Algorithm for Surfaces with Glossy Reflection. Department of Computer Science, Princeton University. Princeton, NJ.

Ashdown I. (1994). Radiosity: A Programmer’s Perspective. Wiley, Canada.

Ashdown I. (1995). "Photometry and Radiometry: A Tour Guide for Computer Graphics Enthusiasts," Course 1: Realistic Input for Realistic Images. ACM SIGGRAPH Annual Conference, August 6-11, Los Angeles, CA.

Ashdown I. (1997). Radiosity Related Bibliographies. .

Aykanat C, Capin T. and Ozguc B. (1993). A Parallel Progressive Radiosity Algorithm Based on Patch Data Circulation. Faculty of Engineering and Science, Bilkent University. Ankara, Turkey.

Baranoski G. and Garcia L. (1992). A Parallel Strategy to Improve the Calculation of Form Factors. Proceedings of the Second International Conference on Computational Graphics and Visualization Techniques (Compugraphics '92), pp = 74-81. Lisbon, Portugal.

Bartels R., Beatty J. and Barsky B. (1987). An Introduction to Splines for Use in Computer Graphics and Geometric Modeling, Morgan Kaufmann. Los Altos, CA.

Baumberg A. and Hogg D. (1993). Learning Flexible Models from Image Sequences. Technical Report. University of Leeds.

Baumberg A. and Hogg D. (1994). Learning flexible models from image sequences. Proceedings of European Conference on Computer Vision. Pp 299-308.

Baumberg A and Hogg D. (1995). Learning Spatiotemporal Models from Training Examples. Technical Report. University of Leeds.

Basto R., Goslin M. and Zhang H. (1995). Efficient Rendering of Radiosity using Textures and Bicubic Reconstruction. Technical Report. Department of Computer Science, University of North Carolina. Chapel Hill.

Beseuievsky G. and Sbert M (1996). The Multi-Frame Lighting Method: A Monte Carlo Based Solution for Radiosity in Dynamic Environments. Rendering Techniques '96 (Proceedings of the Seventh Eurographics Workshop on Rendering), pp = 185-194. Springer-Verlag/Wien. New York, NY.

Blana E. (1996a). The Leeds Advanced Driving Simulator: Three Years in Operation. Working Paper 472. Institute of Transport Studies. University of Leeds. United Kingdom.

Blana E. (1996b). Driving Simulator Validation Studies: A Literature Review. Working Paper 480. Institute of Transport Studies. University of Leeds. United Kingdom.

Blana E. (1996c). A Survey of Driving Research Simulators Around the World. Working Paper 481. Institute of Transport Studies. University of Leeds. United Kingdom.

Blinn J. and Newell M. (1976). Texture and reflection in computer generated images. Communications of ACM, 19(10), pp 542-547.

Bu J. and Deprettere E. (1989). A VLSI System Architecture for High-Speed Radiative Transfer 3D Image Synthesis, The Visual Computer 5:3, pp 121-133.

Bekaert P. and Willems Y. (1995). Importance-Driven Progressive Refinement Radiosity. Rendering Techniques '95 (Proceedings of the Sixth Eurographics Workshop on Rendering), pp 316-325. Springer-Verlag, New York, NY.

Beran-Koehn J. and Pavicic M (1991). A Cubic Tetrahedral Adaptation of the Hemi-Cube Algorithm. Graphics Gems II, pp 299-302, Academic Press Professional, Boston, MA.

Bhate N. (1993). Photorealistic Volume Rendering. Ph.D. Thesis. University of South Florida.

Bhate N. (1993b). Application of Rapid Hierarchical Radiosity to Participating Media. Proceedings of ATARV-93: Advanced Techniques in Animation, Rendering, and Visualization. pp 43-53. Bilkent University. Ankara, Turkey.

Bian B. and Wittels N. (1991). Accurate Image Simulation by Hemisphere Projection, Proceedings of SPIE/IS&T, volume = 1453, San Jose, CA.

Bouknight W. J. (1970). “A Procedure for Generation of Three-dimensional Half-toned Computer Graphics Representation”. Communications of ACM 13:9, pp 292-301.

Dionys B. (1965). Sphereland. Apollo Editions, New Yoek, 1965. Translated by Cornelie J. Rheinboldt.

Capin T., Aykanat C. and Oezguec B. (1993). Progressive Refinement Radiosity on Ring-Connected Multicomputers. Proceedings of the 1993 Parallel Rendering Symposium, pp 71-76. ACM. San Jose, CA.

Chalmers A and Paddon D. (1990).Parallel Radiosity Methods. Transputer Research and Applications (Proceedings NATUG 4) 4, pp 183-193, IOS Press. Ithaca, NY. Chen S. and Williams L. (1993). View interpolation for image synthesis. Proceedings of SIGGRAPH 93’, pp 279-288.

Chung S (1990). A Parallel Radiosity Method for Shared Memory Multiprocessors. Ph. D. thesis. Washington State University.

Cohen J, Varshney A., Manocha D., Turk G., Weber H., Agarwal P., Brooks F. and Wright W. (1996) Simplification Envelopes. ACM SIGGRAPH ’96 Proceedings.

Cohen M. and Greenberg D. (1985). The Hemi-Cube: A Radiosity Solution for Complex Environments. Computer Graphics (ACM SIGGRAPH '85 Proceedings) 19:3:31-40.

Cohen M., Greenberg D., Immel D. and Brock P. (1986). An efficient radiosity approach for realistic image synthesis. IEEE Computer Graphics and Applications 6:3, pp 26-35.

Cohen M., Chen E, Wallace J. and Greenberg D. (1988). A Progressive Refinement Approach to Fast Radiosity Image Generation. Computer Graphics (ACM SIGGRAPH '88 Proceedings) 22:4, pp 75-84.

Cohen M. and Wallace J. (1993). Radiosity and Realistic Image Synthesis. Academic Press. San Diego, California.

Cootes T., Taylor C., Cooper D. and Graham J. (1992). Training models of shape from sets of examples. Proceedings of British Machine Vision Conference, pp 9-18.

Cruz C. (1991). Understanding Neural Networks: A Primer. Cutter Information Corp. MA.

Drettakis G. and Sillion F. (1997). Interactive Update of Global Illumination Using A Line-Space Hierarchy. To be appeared in ACM Siggraph 97’.

Dugger G. (1989). Parallelization of the Radiosity Model. M.Sc. thesis. Department of Computer Science, Southern Illinois University, Carbondale.

Dutre P. and Willems Y. (1994). Importance-Driven Monte Carlo Light Tracing. Fifth Eurographics Workshop on Rendering, pp 185-194. Darmstadt, Germany.

Elias P., Feda M., Ferschin P. and Purgathofer W. (1994). Cubic Monte Carlo Radiosity. Proceedings of the Winter School of Computer Graphics and CAD Systems '94, pp 9-19. University of West Bohemia. Plzen, Czech Republic.

Erikson C. (1996). Polygonal Simplification: An Overview. Dept. of Computer Science, University of North Carolina, Chapel Hill, Technical Report.

EUROGRAPHICS (1997). < http://www.sztaki.hu/conferences/eg97/>, The 18th Annual conference of the European Association for Computer Graphics.

Fahlman S. (1988). An Empirical Study of Learning Speed in Back-Propagation Networks. Technical Report. Carnegie-Mellon University.

Feda M. and Purgathofer W. (1993). Progressive Ray Refinement for Monte Carlo Radiosity. Fourth Eurographics Workshop on Rendering (Eurographics Technical Report), EG 93 RW, pp 15- 26. Paris, France. Feda M. (1996). A Monte Carlo Approach for Galerkin Radiosity. The Visual Computer 12(8), pp 390-405.

Foley J., Dam A., Feiner S. and Hughes J. (1990). Computer Graphics. 2nd Edition. Addison- Wesley Publishing, Reading. Massachusetts.

Forsyth D., Yang C. and Teo K. (1994). Efficient Radiosity in Dynamic Environments. Fifth Eurographics Workshop on Rendering, pp 313-323. Darmstadt, Germany.

Freeman M. H. (1990). Optics. Tenth Edition.

Funkhouser T. (1996). Database Management for Interactive Display of Large Architectural Models Proceedings of Graphics Interface '96, pp1-8, Morgan Kaufmann, San Francisco, CA.

Funkhouser T. and Séquin C. (1993). Adaptive display algorithm for interactive frame rates during visualization of complex virtual environments. Computer Graphics (SIGGRAPH ’95 Proceedings), pp 247-254.

Gautam B., Santosh A. and Westervelt F. (1993). Parallel Radiosity Computation on a Shared Memory Multiprocessor. Proceedings of the 36th Midwest Symposium on Circuits and Systems 1, pp 165-168. IEEE. Wayne State University, Detroit, MI.

Gershbein R., Schroder P. and Hanrahan P. (1994). Textures and Radiosity: Controlling Emission and Reflection with Texture Maps. Computer Graphics Proceedings. ACM Siggraph.

Gershbein R., Schröder P. and Hanrahan Pat (1996). Textures and Radiosity: Controlling Emission and Reflection with Texture Maps. Technical Report. Department of Computer Science. Princeton University.

Gibson S. (1995). Efficient Radiosity for Complex Environments. M.Sc. Thesis. University of Manchester. Department of Computer Science. Manchestor, UK.

Glassner A. (1989). An Introduction to Ray Tracing. Academic Press, San Diego, CA.

Glassner A. (1995). Principles of Digital Image Synthesis. Morgan Kaufmann Publisher, Inc. San Francisco, CA.

Goldberg D. (1988). Genetic Algorithms in Machine Learning, Optimization, and Search. Addison- Wesley, Reading.

Goldfeather J. (1989). Progressive Radiosity Using Hemispheres. Dept. of Computer Science, University of North Carolina, Chapel Hill, Technical Report.

Goldman J. (1995). Parallel Progressive Refinement and Projection-based Discontinuity Meshing for Radiosity. M.Sc. thesis. University of Illinois at Chicago. Chicago, IL.

Gouraud H. (1971). “Illumination for Computer Generated Pictures”. Communications of ACM 18:6, pp 311-317.

Goral C. M., Torrance K.E., Greenberg D. P. and B. Battaile (1984). “Modelling the Interaction of Light between Diffuse Surfaces”, Computer Graphics (ACM SIGGRAPH ’84 Proceedings) 18(3):213-222.

Gortler S., Schroder P., Cohen M. and Hanrahan P. (1993). Wavelet Radiosity. Computer Graphics, (ACM SIGGRAPH '93 Proceedings), pp 221-230.

Gose E., Johnsonbaugh R. and Jost S. (1996). Pattern Recognition and Image Analysis. Prentice Hall. New Jersey.

Graphics Interface (1997). , Graphics Interface ’97.

Grum F., Bercherer, R. (1979). Optical Radiation Measurements, Volume 1, Radiometry. Academic Press, California.

Haines E. and Greenberg D. (1986). The light buffer: A shadow testing accelerator. IEEE Computer Graphics and Applications 6:9 , pp 6-16.

Hanrahan P. and Salzman D. (1990). A Rapid Hierarchical Radiosity Algorithm for Unoccluded Environments. Department of Computer Science, Princeton University, Princeton, NJ.

Hardt S. (1997). High Fidelity Radiosity Rendering at Interactive Rates. B.Sc. and M.Sc. Thesis. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Cambridge, MA

Heckbert P. (1986). Survey of texture mapping. IEEE Computer Graphics and Applications. 6(11), pp 56-67.

Heckbert P. (1990). Adaptive radiosity textures for bidirectional ray tracing. Computer Graphics (ACM SIGGRAPH ’90 Proceeding) 24:4, pp 145-154.

Heckbert P. (1991). Simulating Global Illumination Using Adaptive Meshing. Ph.D. Thesis. University of Californa, Berkeley.

Heckbert P. (1992). Discontinuity Meshing for Radiosity. Third Eurographics Workshop on Rendering, pp 203-226. Bristol, UK.

Heckbert P. and Garland M. (1994). Multiresolution Modeling for Fast Rendering. Proceedings of Graphics Interface ’94. Banff, Alberta. Canada.

Heinrich S. and Keller A. (1994). Quasi-Monte Carlo Methods in Computer Graphics Part II: The Radiance Equation. Technical Report 243/94. University of Kaiserlautern.

Hensa Technical Report Search Site (1997). .

Hermitage S. (1989), Radiosity in a Ray Tracing Environment, M.Sc. thesis. University of South Carolina.

Holland J (1975). Adaptation in Natural and Artificial Systems. University of Michigan Press.

Hoppe H. (1996). Progressive Meshes. Computer Graphics (SIGGRAPH ’96 Proceedings), pp 99- 108.

Hoppe H. and Popovic J. (1997). Progressive simplicial complexes. SIGGRAPH '97 Proceedings.

Hutchinson D. (1993). Monte Carlo Path Tracing for Photorealism. M.Sc. thesis. Department of Computer Science, University of Manchester. Manchester, UK.

Immel D. S., Cohen, M., and Greenberg, D. P. (1986). “A Radiosity Method for Non-diffuse Environments”. Computer Graphics (ACM SIGGRAPH ’86 Proceeding) 20:4, pp 133-142.

Ito T., Makino M and Oishi S. (1992). A Shading Model of Translucent Objects by Radiosity Method, Transactions of the Institute of Electronics, Information J75D-II, 11, pp 1981-1985.

Jensen H. (1993). Global Illumination - Using Bidirectional Monte Carlo Ray Tracing. M.Sc. thesis. Department of Graphical Communication, Technical University of Denmark. Lyngby, Denmark.

Jensen H. (1995). Importance Driven Path Tracing Using the Photon Map. Rendering Techniques '95 (Proceedings of the Sixth Eurographics Workshop on Rendering), pp 326-335. Springer- Verlag. New York.

Johnson N. and Hogg D. (1995). Learning the Distribution of Object Trajectories for Event Recognition. Technical Report. University of Leeds. United Kingdom.

Jolliffe I. (1986). Principal Component Analysis. New York. Springer.

Kajiyama H. and Kodaira S. (1989). An Illuminance Analysis in Partitioned Spaces Using the Monte Carlo Method. Journal of the Illuminating Engineering Society 18(2), pp 93-108.

Khodulev A. and Nikolay K. (1995). Efficient Form Factor Calculation by Monte Carlo Methods. Proceedings of GRAPHICON '95 1, pp 162-168. GRAFO Computer Graphics Society Press. St. Petersburg, Russia.

Kochevar P (1990). Too Many Cooks Don't Spoil the Broth: Light Simulation on Massively Parallel Computers. Third Symposium on the Frontiers of Massively Parallel Computation, pp 100-109. IEEE Computer Society Press.

Kohonen T. (1982). Self-organized Formation of Topologically Correct Feature Maps, Biological Cybernetics 43, 59.

Kohonen T. (1984). Self-Organization and Associative Memory. Springer, Berlin, Heidelberg.

Kokcsis F. and Bohme J. (1992). Fast Algorithms and Parallel Structures for Form Factor Evaluation. The Visual Computer 8:4, pp 205-216.

Linsker R. (1988). Self Organization in a Perceptual Network. Computer Magazine 21, pp 105-117.

Lischinski D., Smits B., Greenberg D. (1994). Bounds and Error Estimates for Radiosity. In Computer Graphics Proceedings. Annual Conference Series, ACM SIGGRAPH, pp 67-74.

Lounsbery M., Derose T. and Warren (1994): Multiresolution Analysis for Surfaces of Arbitary Topological Type. Technical Report. Department of Computer Science and Engineering. University of Washington.

Matthias E., Derose T., Duchamp T., Hoppe H., Lounsbery M. and Stuetzle W. (1995). Multiresolution Analysis of Arbitrary Meshes. Computer Graphics (SIGGRAPH ’95 Proceedings), pp 173-182.

Michelin S, Maffies G., Arques D. Grossetie J. (1993). Form Factor Calculation: A New Expression with Implementations on a Parallel T. Node Computer. Computer Graphics Forum (Eurographics '93) 12:3, pp C421-C432. Barcelona, Spain.

Möller T. (1995). Virtual Radiosity. M.Sc. Thesis. Czech Republic. Department of Computer Engineering, Lund University of Technology. Lund, Sweden.

Möller T. (1996). Radiosity Techniques for Virtual Reality - Faster Reconstruction and Support for Levels of Details. Proceedings of Fourth International Conference in Central Europe on Computer Graphics and Visualization ’96, Plzen, Czech Republic.

Montana D. and Davis L. (1989). Training Feedforward Neural Networks using Genetic Algorithms. In Eleventh International Joint Conference on Artificial Intelligence, ed. Sridharan N, Morgan Kaufmann, San Mateo (1989), p. 762.

Nishita, T. and Nakamae E. (1985). “Continuous Tone Representation of Three-Dimensional Objects Taking Account of Shadows and Interreflection”, Computer Graphics (ACM SIGGRAPH ’85 Proceedings) 19(3):23-30.

Oja E. (1982). A Simplified Neuron Model as a Principal Component Analyzer. Journal of Mathematical Biology 15, pp 267-273.

Otake T. (1995). Saccade-based Progressive Refinement Radiosity for Virtual Reality Displays. M.Sc. thesis. Department of Computer Science, University of Alabama.

Perlin K. (1984). A Unified Texture/reflectance Model. Proceedings of SIGGRAPH ’84 Advanced Image Synthesis seminar notes.

Phillips S., Worrall A., Willis C. and Paddon D. (1993). Adaptive Mesh Refinement for the Radiosity Method. Proceedings of Third International Conference on Computational Graphics and Visualization Techniques (Compugraphics '93), pp 178-186. Alvor, Portugal.

Phong, B. (1975a). “Illumination for computer-generated pictures”. Communications of ACM 18:6. , pp 311-317.

Price M. and Truman G. (1989). Parallelism Makes Light Work. Proceedings of Computer Graphics '89, pp 409-418. London, UK.

Prior D. (1989). An Architecture That Exploits Parallelism in Radiosity Calculations. Proceedings of BCS Computer Graphics and Displays Group. London, UK.

Renaud C. (1991). A Parallel Radiosity Implementation on a Transputer Network. Applications of Transputers 3 (Proceedings of the Third International Conference on Applications of Transputers), pp 730-735. IOS Press. Amsterdam, Netherlands.

Rosenfield Azriel (1984). Multiresolution Image Processing and Analysis. Springer, Berlin.

PRS (1997). http://www.icase.edu/~kma/prs97-info.html, Parallel Rendering Symposium ‘97.

Rumelhart D., Hinton G. and Williams R. (1986). Learning representation by back-propagation errors. Nature 323, pp 533-536.

Rushmeier, H. E. (1986). “Extending the Radiosity Method to Transmitting and Specularly Reflecting Surfaces”, M.Sc. thesis. Program of Computer Graphics, Cornell University, Ithaca, NY.

Rushmeier, H. E., and Torrance, K. E. (1990). “Extending the radiosity method to include specularly reflecting and translucent materials”. ACM Transactions on Graphics 9:1, pp 1-27

Rushmeier H. (1991).Radiosity Methods for Volume Rendering, GIT-GVU-91-01, Graphics, Visualization and Usability Center, Georgia Institute of Technology, Atlanata, GA.

Rushmeier H., Patterson C. and Veerasamy A. (1993). Geometric Simplification for Indirect Illumination Calculations. Proceedings of Graphics Interface '93, pp 227-236. Morgan Kaufmann. San Francisco, CA.

Sakas G and Gerth M. (1991). Sampling and Anti-aliasing of Discrete 3-D Volume Density Textures. Proceedings of Eurographics ’91, pp 87-102. Amsterdam. Holland.

Sbert M., Perez F and Pueyo X. (1995). Global Monte Carlo: A Progressive Solution. Rendering Techniques '95 (Proceedings of the Sixth Eurographics Workshop on Rendering), pp 231-239. Springer-Verlag. New York, New York.

Schaufler G. and Stürzlinger W. (1995). Generating Multiple Levels of Detail from Polygonal Geometry Models. Proceedings of 2nd Eurographics Workshop on Virtual Environments. Monte Carlo, Monaco.

Schirmacher H. (1996). Hierarchische Volumen-Radiosity. IMMD 9 -- Computer Graphics Group, University of Erlangen.

Schroeder, W. and Zarge, J. (1992). Decimation of Triangle Meshes, Computer Graphics Proceedings, SIGGRAPH '92 26(2), pp 65-68.

Schutz B. (1990). A First Course in General Relativity. Cambridge University Press. New York.

SCS (School of Computer Studies), School of Transport Studies and Psychology Department (1997). University of Leeds Advanced Driving Simulator. . Leeds, United Kingdom.

Shen X. and Hogg D. (1993). Shape Models from Image Sequences. Technical Report. University of Leeds.

Shen X. and Hogg D. (1995). Generic 3-D Shape Model : Acquisitions and Applications. Technical Report. University of Leeds.

Shirley P. (1990). A Ray Tracing Method for Illumination Calculation in Diffuse-Specular Scenes, Proceedings of Graphics Interface '90, pp 205-212.

Shirley P. (1990b). Physically Based Lighting Calculations for Computer Graphics. Ph.D. thesis. Dept. of Computer Science, University of Illinois. Urbana-Champaign.

Shirley P., Sung K. and Brown W. (1991). A Ray Tracing Framework for Global Illumination Systems. Proceedings of Graphics Interface '91, pp 117-128. Morgan Kaufmann. San Francisco, CA.

Shirley P. (1991). Time Complexity of Monte Carlo Radiosity. Eurographics '91. pp 459-465. Elsevier Science Publishers. Amsterdam, North-Holland.

Shirley P. and Wang C. (1992). Distribution Ray Tracing: Theory and Practice. Third Eurographics Workshop on Rendering, pp 33-43. Bristol, UK.

Shirley P. (1992). Time Complexity of Monte Carlo Radiosity. Computers & Graphics 16(1), pp 117-120.

Shirley P. (1994). Hybrid Radiosity/Monte Carlo Methods. Siggraph 94 Advanced Radiosity Course.

Shirley P. and Wang C (1994). Direct Lighting Calculation by Monte Carlo Integration. Photorealistic Rendering in Computer Graphics (Proceedings of the Second Eurographics Workshop on Rendering), pp 54-59. Springer-Verlag. New York, NY

Shirley P., Wade B., Hubbard P., Zareski D., Walter B. and Greenberg D. (1995). Global Illumination via Density Estimation. Rendering Techniques '95 (Proceedings of the Sixth Eurographics Workshop on Rendering), pp 219-230. Springer-Verlag. New York, NY.

SI3DG (1997). , 97 Symposium on Interactive 3D Graphics ’97.

Siegel, R., and Howell, J. R. (1992). Heat Transfer, 3rd Edition, Hemisphere Publishing Corporation, New York.

Siggraph Bibliography Search Engine (1997). .

SIGGRAPH (1997). , Siggraph ’97.

Sillion, F., Arvo, J. R., Westin, S. H., and Greenberg, D. P. (1991). “A global illumination solution for general reflection distributions”. Computer Graphics (SIGGRAPH ’91 Proceedings) 25:4, pp 187-196.

Sillion, F., and Puech, C. (1989). “A general two-pass method integrating specular and diffuse reflection.” Computer Graphics (SIGGRAPH ’89 Proceedings) 23:3, pp 335-344.

Sillion, F. and Puech, C. (1994). Radiosity and Global illumination. Morgan Kaufmann, San Francisco, CA.

Smits B., Arvo J and Salesin D. (1992). An Importance-Driven Radiosity Algorithm. Computer Graphics (ACM SIGGRAPH '92 Proceedings) 26:4, pp 273-282.

Sobierajski L. (1994). Global Illumination Models for Volume Rendering. Ph.D. Thesis. Department of Computer Science, State University of New York at Stony Brook.

Sonka M, Illavac V and Boyle R (1997). Image Processing, Analysis and Machine Vision. Chapman and Hall, 2nd Edition.

Stimson, A. (1974). Photometry and Radiometry for Engineers. Wiley, NY.

Sturzlinger W. (1994). Adaptive Mesh Refinement with Discontinuities for the Radiosity Method. Fifth Eurographics Workshop on Rendering, pp 239-248. Darmstadt, Germany.

Sturzlinger W. (1995). Form Factor Calculation for a Parallel Radiosity Algorithm. CEI PACT D4V-6. University Linz.

Sumpter N., Boyle R. and Tillett R. (1997). Modelling Collective Animal Behaviour Using Extended Point-Distribution Models. Technical Report. University of Leeds.

Turk G (1992). Re-tiling polygonal surfaces. Computer Graphics (SIGGRAPH ’92 Proceedings) 26(2), pp 55-64.

UNICE CG Search Engine (1997). .

Varshney A. (1991). Parallel Radiosity Techniques for Mesh-Connected SIMD Computers. M.Sc. thesis . Department of Computer Science, University of North Carolina, Chapel Hill.

Vilaplana J. (1996). Parallel Form Factors Computation with Coherence Techniques. Proceedings First Eurographics Workshop on Parallel Graphics and Visualisation. Bristol, UK.

Waikato radiosity references (1997). .

Wallace, J. R., Cohen, M. F., and Greenberg, D. P. (1987). “A two-pass solution to the rendering equation: A synthesis of ray tracing and radiosity methods”. Computer Graphics (SIGGRAPH ’87 Proceedings) 21:4, pp 311-320.

Wallace J. (1988). A Two-Pass Solution to the Rendering Equation: A Synthesis of Ray Tracing and Radiosity Methods. M.Sc. thesis. Program of Computer Graphics, Cornell University, Ithaca, NY.

Wu E. H. (1995).A Radiosity Solution for Random Fractal Surfaces, The Journal of Visualization and Computer Animation 6:4, pp 219-230.

Yeap T., Henderson S., Brodlie K. (1997). Computer Graphics at University of Leeds. United Kingdom.

Yeap, T. (1997b). T-Rex Footprints. Singapore.

Yu Y., Ibarra O. and Yang T. (1996). Parallel Progressive Radiosity with Adaptive Meshing. Lecture Notes in Computer Science (Parallel Algorithms for Irregularly Structured Problems) 1117, pp 159-172. Springer-Verlag. Berlin, Germany.

Zareski D., Wade B., Hubbard P. and Shirley P. (1995). Efficient Parallel Global Illumination Using Density Estimation. IEEE/ACM 1995 Parallel Rendering Symposium (PRS '95). Atlanta, Georgia.