Seth Teller Celeste Fowler Thomas Funkhouser Pat Hanrahan ...

8
Seth Teller Celeste Fowler Thomas Funkhouser Pat Hanrahan Abstract We describe a system that computes radiosity solutions for polyg- onal environments much larger than can be stored in main mem- ory. The solution is stored in and retrieved from a database as the computation proceeds. Our system is based on two ideas: the use of visibility oracles to find source and blocker surfaces potentially visible to a receiving surface; and the use of hierarchical tech- niques to represent interactions between large surfaces efficiently, and to represent the computed radiosity solution compactly. Vis- ibility information allows the environment to be partitioned into subsets, each containing all the information necessary to transfer light to a cluster of receiving polygons. Since the largest subset needed for any particular cluster is much smaller than the total size of the environment, these subset computations can be performed in much less memory than can classical or hierarchical radiosity. The computation is then ordered for further efficiency. Careful or- dering of energy transfers minimizes the number of database reads and writes. We report results from large solutions of unfurnished and furnished buildings, and show that our implementation’s ob- served running time scales nearly linearly with both local and global model complexity. CR Categories and Subject Descriptors: I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism –Radiosity ; J.2 [Physical Sciences and Engineering]: Engineering . Additional Key Words and Phrases: Multigridding; equilibrium methods; spatial subdivision. Computer Science Dept., Princeton University, Princeton NJ 08544 AT&T Bell Laboratories, Murray Hill, NJ 07974 1 Introduction An important application of computer graphics is the modeling of lighting in buildings. In fact, such interior lighting simulations are the major application of the radiosity method. Unfortunately, radiosity algorithms still are not fast and robust enough to handle standard building databases. Evidence of this is that previous radiosity images typically show a solution for only a single room of modest geometric complexity. Furthermore, “tricks” are often used to hide artifacts and to cope with even this low level of model complexity. In this paper we describe radiosity computations on very large databases. There are three basic measures of the complexity of a radiosity solution: the input complexity, the output complexity, and the intermediate complexity. The input complexity is related to the number of geometric primitives, textures, and light sources present. The output complexity is related to the number and type of elements required to represent the computed radiosity solu- tion. Note that the output complexity is much, much greater than the input complexity, as it includes the input model plus a representation of the radiosity on all surfaces. The radiosity function may be very complex due to shadowing and lighting variations, and much recent research has con- cerned its compact, accurate representation. The optimal output complexity is that which represents the radiosity so- lution to within a specified error with a minimal amount of information. The intermediate complexity is related to the size of the data structure needed to perform the radiosity computation. The major components of the intermediate complexity are the form factor matrix and any data structures used to accel- erate visibility computations. Since the form factor matrix may grow quadratically in the output complexity, and since accelerated visibility queries may involve sophisticated data structures, the intermediate complexity may be even greater than the output complexity, and is, in fact, usually the lim- iting factor in performing large radiosity simulations. When storage is unlimited, the optimal intermediate complexity is that associated with the most rapidly converging iterative scheme. Model Surfaces Patches Elements Time Theater [1] 5K 80K 1M 192 H Mill [5] 30K 50K 195 H Cathedral [28] 10K 75K 1H Table 1: Previous complex radiosity solutions. Several complex radiosity computations have been reported in the literature (Table 1). Perhaps the most complex is the Candle- stick Theater reported in Baum et al [1]. This simulation gener- ated over a million elements, performed 1600 iterations of a pro- gressive refinement algorithm (shooting from a single source), and took approximately 8 days to compute. Other reported complex radiosity simulations each generated less than 100,000 elements. Our goal is to render complete buildings at one square inch effec- tive resolution, obviously a very resource-intensive computation. For example, consider the model of the University of Califor- nia, Berkeley Computer Science Building. The furnished building model contains more than 8,000 light sources and 1.4 million sur- faces and requires approximately 350 megabytes of storage [9]. We estimate that 10 to 100 million elements may be required to represent a high-fidelity radiosity solution throughout the model. Intermediate memory demands often determine the limits on the size of the model used in a radiosity system. The interme- diate memory usage depends on the representation of the form factor matrix. Two general approaches have emerged for cop- ing with the size of the form factor matrix: hierarchical radiosity

Transcript of Seth Teller Celeste Fowler Thomas Funkhouser Pat Hanrahan ...

Page 1: Seth Teller Celeste Fowler Thomas Funkhouser Pat Hanrahan ...

�������������� ��� �� �� �� ������������ ����������� �������������� � !"��# $�%&��'����� ��

Seth Teller ( Celeste Fowler ( Thomas Funkhouser) Pat Hanrahan (

Abstract

We describea systemthatcomputesradiositysolutionsfor polyg-onal environmentsmuchlarger thancanbe storedin main mem-ory. Thesolutionis storedin andretrievedfrom a databaseasthecomputationproceeds.Our systemis basedon two ideas:theuseof visibility oraclesto find sourceandblockersurfacespotentiallyvisible to a receiving surface;and the use of hierarchicaltech-niquesto representinteractionsbetweenlargesurfacesefficiently,and to representthe computedradiositysolutioncompactly.Vis-ibility informationallows the environmentto be partitioned intosubsets,eachcontainingall the informationnecessaryto transferlight to a clusterof receivingpolygons. Sincethe largestsubsetneededfor anyparticularclusteris muchsmallerthanthetotalsizeof the environment,thesesubsetcomputationscanbe performedin muchlessmemorythancanclassicalor hierarchicalradiosity.Thecomputationis thenorderedfor furtherefficiency. Carefulor-deringof energy transfersminimizesthenumberof databasereadsandwrites. We reportresultsfrom large solutionsof unfurnishedand furnishedbuildings,andshowthat our implementation’sob-servedrunning time scalesnearly linearly with both local andglobal modelcomplexity.CR Categories and Subject Descriptors: I.3.7 [ComputerGraphics]:Three-DimensionalGraphicsandRealism–Radiosity;J.2 [PhysicalSciencesandEngineering]:Engineering.Additional Key Words and Phrases: Multigridding; equilibriummethods;spatialsubdivision.*

ComputerScienceDept.,PrincetonUniversity,PrincetonNJ 08544+AT&T Bell Laboratories,Murray Hill, NJ 07974

1 Introduction

An importantapplicationof computergraphicsis themodelingoflighting in buildings. In fact, such interior lighting simulationsarethe major applicationof the radiositymethod.Unfortunately,radiosityalgorithmsstill arenot fast androbustenoughto handlestandardbuilding databases.Evidenceof this is that previousradiosity imagestypically showa solutionfor only a singleroomof modestgeometriccomplexity. Furthermore,“tricks” areoftenusedto hideartifactsandto copewith eventhis low levelof modelcomplexity. In this paperwe describeradiositycomputationsonvery large databases.

Therearethreebasicmeasuresof thecomplexityof a radiositysolution: the input complexity, the output complexity, and theintermediatecomplexity.

, The input complexityis relatedto the numberof geometricprimitives, textures,and light sourcespresent.

, The outputcomplexityis relatedto the numberand type ofelementsrequiredto representthe computedradiositysolu-tion. Note that theoutputcomplexityis much,muchgreaterthan the input complexity, as it includes the input modelplus a representationof the radiosity on all surfaces. Theradiosity function may be very complexdue to shadowingand lighting variations,and much recentresearchhascon-cernedits compact,accuraterepresentation.The optimaloutputcomplexity is that which representsthe radiosityso-lution to within a specifiederror with a minimal amountofinformation.

, The intermediatecomplexityis relatedto thesizeof thedatastructureneededto performthe radiositycomputation.Themajor componentsof the intermediatecomplexity are theform factor matrix and any data structuresused to accel-eratevisibility computations.Sincethe form factor matrixmay grow quadraticallyin the outputcomplexity,andsinceacceleratedvisibility queriesmay involve sophisticateddatastructures,the intermediatecomplexitymay be evengreaterthanthe output complexity,and is, in fact, usually the lim-iting factor in performinglarge radiositysimulations.Whenstorageis unlimited, the optimal intermediatecomplexityisthat associatedwith the most rapidly converging iterativescheme.

Model Surfaces Patches Elements TimeTheater[1] - 5K - 80K - 1M 192 HMill [5] - 30K - 50K 195 HCathedral[28] - 10K - 75K 1 H

Table 1: Previouscomplexradiositysolutions.

Severalcomplexradiositycomputationshavebeenreportedinthe literature(Table1). Perhapsthe mostcomplexis the Candle-stick Theaterreportedin Baumet al [1]. This simulationgener-atedover a million elements,performed1600iterationsof a pro-gressiverefinementalgorithm(shootingfrom a singlesource),andtook approximately8 daysto compute. Other reportedcomplexradiositysimulationseachgeneratedlessthan 100,000elements.Our goal is to rendercompletebuildingsat onesquareinch effec-tive resolution,obviously a very resource-intensivecomputation.For example,considerthe model of the University of Califor-nia,BerkeleyComputerScienceBuilding. Thefurnishedbuildingmodelcontainsmorethan8,000light sourcesand1.4million sur-facesand requiresapproximately350 megabytesof storage[9].We estimatethat 10 to 100 million elementsmay be requiredtorepresenta high-fidelity radiositysolutionthroughoutthe model.

Intermediatememorydemandsoften determinethe limits onthe size of the model usedin a radiosity system. The interme-diate memory usagedependson the representationof the formfactor matrix. Two generalapproacheshave emerged for cop-ing with thesizeof the form factor matrix: hierarchicalradiosity

Page 2: Seth Teller Celeste Fowler Thomas Funkhouser Pat Hanrahan ...

Figure 1: A locally dense,globally sparseinteractionblock matrix.

and visibility subspaces.Hierarchicalradiosity (and its relative,waveletradiosity)efficiently approximateform factor matricesinsituationswherea setof largesurfacesaremutuallyvisible. Tech-niquesareonly recentlyemerging for handlinglarge numbersofsmall, mutually visible surfaces,for exampleby clustering. Theproblemof efficiently computingcluster-clusterinteractionsis notaddressedin this paper. However,our visibility subspacemeth-ods do exploit the fact that in many environments,particularlybuilding interiors,only a small percentageof the environmentisvisible from anyparticularsurface.A globalvisibility precompu-tation constructsthis potentiallyvisible set for eachsurface,andthesubspacemethodsmaintainthesetthroughouthierarchicalre-finement.

Figure1 depictsa sparseblock-structuredform factor matrix.Eachdiagonalblock representsa denseinteractionwithin a clusterof surfaces,e.g., the polygons comprising a room. Each off-diagonalblock representsthecouplingbetweentheseclusters,e.g.the roomsvisible from a given room. Thuseachblock is locallydense,but the matrix is globally sparse.

In this paperwe describeour systemto computeradiosityso-lutions in suchenvironments.The environmentis assumedto bevery large and henceis storedin a databaseas the computationproceeds.The ensuingradiosity computationis partitioned intosubsets.Eachsubsetcontainsthe informationneededto performa transferof light to a cluster of polygons. Thesesubsetcom-putationsareordered to performthe light transfersefficiently byreducingthe numberof databasereadsandwrites. We report theresultsof simulationsrun for modelsof varying density (localcomplexity)andoverall size(global complexity).

This systemis built upon previously describedhierarchicalradiosity methods, global and local visibility algorithms, anddatabaseandwalkthroughimplementations.

2 Prior Work

The problem of increasingthe speedand accuracyof radiositysolutionshasbeenaddressedon many fronts.. Visibility. One of the most expensiveoperationsin global

illumination is visibility computation.For a given surface,the setof surfacesthat illuminate (or are illuminated by) itmust be efficiently identified. Clearly this requiresglobalknowledgeof the model.Classicalradiosityalgorithmsuseda “hemicube”algorithmto approximateeachsurface’soccludedview of the modelas an environmentmap onto facesof a cube centeredona surfacepoint [6]. The projectionoperationinvolved thewholemodelandrespecteddepth,producingdiscretizedsur-face fragmentsvisible to the samplepoint. This and otherpoint-samplingtechniques(e.g.,[4]) maynot detectrelevantlight sourcesand/orblockers,however.Shaftculling recastglobal visibility into a collectionof vis-ibility subspacesby generatinga commonshaft volumeforeachinteractingpair, andtreatingasblockersonly thoseob-

jects (potentially) intersectingthe shaft [14, 18]. Finally,preprocessingandincrementalmaintenancetechniquesuseda coherentglobal passthroughthe modelto generateinitialblocker lists, then maintainedthe lists incrementallyunderlink subdivision[25]. Thesetechniques,in contrastto thosebasedon point-sampling,areconservativein the sensethatthey neverwrongly excludea blocker or light sourcefroman interaction.

. Solution Methods. Classicalradiosity algorithmsgeneratea row-diagonallydominantinteractionmatrix [6]. The ra-diosity matrix equationis then solvedby repeatedlyupdat-ing the matrix entriesusinga numericalsolutiontechnique,typically Gauss-Seideliteration. Severalproposedimprove-mentsaddressthe order in which the matrix entriesareup-dated. Progressiveradiosity techniqueschoosesourcesinbrightnessorderandshoottheir energy into theenvironment[5]. This may involve considerablebookkeeping,sinceeachshootupdatesmanybrightnesses,and the relativeprioritiesof queuedshootersmaychangeconsiderably.Parallelimple-mentationsof progressiverefinementhavebeenreported[2,19]. “Super-shootgather”techniquesrepeatedly(over)shootfrom andgatherto a smallnumberof surfaces,ignoringanyinteractionsnot involving the shooters[7, 12].

. Hierarchical Approaches and Clustering. Matrix-basedsolutionsconsiderthematrix at a singlegranularity, namelythe correspondencebetweeneachmatrix entry and pair ofsurfacesin theenvironment.Thehierarchicalradiosityalgo-rithm appliedtechniquesdevelopedfor the / -bodyproblem,incorporatinga global error boundandallowing surfacestoexchangeenergy whenevertheycoulddo sowithin thespec-ified error [15]. Thus,whereversufficiently far-apartor dimsurfacesinteract, hierarchicalmethodsessentiallycompacta block of the form-factor matrix into a scalar. Recursiveapplicationof this idea yielded a radiosity algorithm withrunning time that grows linearly with the numberof out-put elements.The hierarchicalradiosity algorithm did notaddressthe “clustering” problemof efficiently handlingin-teractionsamongsurfacescomposedof manysmallsurfaces;sometechniqueshavebeenrecentlyproposedto do so [20,22, 29].

. Meshing and Finite Element Methods. Finally, meshingand finite-elementtechniqueshave beenemployedto im-prove the accuracyof radiositysolutions. Classicaland hi-erarchicalsolution algorithmsrepresentedradiosity as con-stantover eachsurface. Galerkin-basedmethodsusefiniteelementtechniquesto representradiositiesmore generally,as weightedsumsof smoothly varying basisfunctionsde-fined over eachsurface[16, 17, 27, 30]. The resultingso-lutions have better smoothnessand convergencebehaviorthan thoseof classicalradiosity. Recently,the wavelet ra-diosity method[13, 21] combinedhierarchicalradiositywithGalerkintechniques.

3 Basic Ideas

Our systemis basedon two ideas:partitioningandordering.Partitioning decomposesthe databaseinto subsets.Eachsub-

set containsthe informationneededto gatherall the energy des-tinedfor a clusterof receivers.We assumethat the largestsubset,including the sources,receivers,andvisibility and interactionin-formation,requiresfewerresourcesthanwould berequiredfor thewholemodel. Performingenergy transfersfor a partitionamountsto a single block iteration of an iterative solution of the radios-ity systemof equations.Partitioning is implementedby findingthoseclustersof sourcepolygonsvisible to a clusterof receiving

Page 3: Seth Teller Celeste Fowler Thomas Funkhouser Pat Hanrahan ...

polygons. Only light originating from the sourcesmay directlyilluminatethe receivers.Furthermore,only polygonsvisibleto thereceiversmay block light transfersfrom the sources. Therefore,the visibility and light transfercomputationsmay use the samedatabase.

The goal of partitioning is to reducethe solver’s working setto a manageablesize. Receiverclustersmay havedenseinterac-tions in a local region, but shouldhavesparseinteractionswiththe remainderof the environment. Our implementationinheritsclusteringinformation(andthuslocal density)from themodelinghierarchy,andachievesglobal sparsenessby partitioningaccord-ing to visibility.

Ordering is schedulingradiositysubcomputations–theenergytransfers–to achieverapidconvergence.An exampleof anorder-ing algorithmis the progressiveradiosityalgorithm,in which thesourcewith the largestunshotradiosity is selectedto “shoot” itsenergy into the environment.In our system,the ordermustalsobe chosensothat thememory“footprint” changesslowly; that is,the working set neededfor the next transfershoulddiffer littlefrom that of the current transfer. Successfulorderingstrategiesreducethe readand write traffic of the working set from and toexternalstorage,while maintainingrapid convergenceproperties.

In this paperwe analyzeseveralmethodsfor orderingthe en-ergy transfers:randomorder;modeldefinitionorder;sourceorder;andspatialcell order. We alsobriefly discussoptimal orderings.

4 System Architecture

Our systemis designedto solve the following problem: in prac-tice, hierarchical radiosity is limited either by its intermediatecomplexity(i.e., the numberof links) or by its outputcomplexity(the descriptionof the radiosity solution), or both. We addressboth limitations by constructingsmall but completeworking sets(Figure2) for thehierarchicalalgorithm,theninvoking a radiositysolverandstoringawaythe result– an improved,typically larger,answer– in a spatialdatabasethatcangrow incrementallyandar-bitrarily large. This partitioning of hierarchicalradiosityis shownin 0 5 to preserveits correctnessandconvergenceproperties.

Figure 2: A working setof sourcecluster(whiteoutline),receivercluster(yellow outline), andblockerpolygons(greenoutline) fora solver invocation.The braid and links arenot shown.

The typessurface, patch, element, and link are familiar to ra-diosity practitioners.The typesblocker, shaft, and tube arise inrecentrelatedwork on shaft-cullingandvisibility subspaces[14,18, 25]. The novel typesdescribedhereareclustersandbraids,definedanalogouslyto surfacesand links in existinghierarchicalradiositysystems.. A tube is a list of blockersfor a pair of geometricentities1 and 2 , and a shaft volume, the convexhull of 3 154 276 .

For any tube 8 , 9;:�<>=@?BADCE3F8G6 lazily computesone of =@H�I9�=@JK=@LNMO? , 9�=@JK=@LNMO? , or PQ:�<RAD=@:�M , when 1 and 2 are totally

mutually invisible, visible, or only partially visible, respec-tively. Tubescan also subdividethemselvesand reclassifytheir child tubes’ 9;:�<>=@?BAD=@?BJ whenoneof 1 or 2 subdivides.Only entitiesthat impingeuponthe shaftmay be blockers.. A braid is a list of links betweentwo clusters.A link is adirectededgeto a patch1 from a patch2 , associatingwith 1and 2 a form factorestimateandothercouplinginformation.Every link containsa tube. Given the tube 8 describingthe shaft and blockersof clustersS and T , the braid overthis cluster-clusterinteractionis simply the set of all linksbetweenpatchesin clustersS and T , anda referenceto 8 .. A cluster is a list of surfacesanda boundingvolume. Notethata clustermaybraid with itself if containsanypatches1and 2 suchthat 9;:�<>=@?BADCE3 1>U 2B6GVW =@H�9�=XJK=@LNMO? .

Thesystemhassix principalcomputationalmodules.Five existin previouswork, and havebeenadoptedhere with only slightchanges. The remainingcomponent,the radiosity scheduler, isthe main novelty of our system. We describeeachmodule intop-downfashion(Figure3).

DISK

Database

Clusters

RadiosityScheduler

!? !

Local VisibilityOracle

RadiositySolver

?

Blocker Lists

Global VisibilityOracle

?

Computation

Storage

A directs B

A queries B

!

?

ShaftsSubdivision

Spatial

(elements, links )

B

B

A

A

A writes to B

A reads from B

B

B

A

A

Working Set

Figure 3: Systemblock diagram.

Y Theradiosity scheduler is theconceptualcenterof thesys-tem. It mediatesbetweenthe databaseand the radiositysolver, selectinga clusterfor refinementand transferoper-ations (ordering), extractinga small portion of the modelfrom the database(partitioning), manipulatingthe solver’sworking set, invoking the solver, extractingthe modified,refinedclusters,andreturningthemto the database.Y The database containsa persistent(disk) representationofall clustersanda hierarchicalspatialsubdivisioncomprisedof convex cells and portals that connectcells [26]. Thedatabasesupportsthe operationsof reading, dirtying, andreleasingclusters[9, 11]. Releasesof dirty data result indeferredwrites to persistentstorage.Y The global visibility oracle, given a receivercluster,iden-tifies thoseclusterspotentially visible to the receiver,i.e.,thoseclustersthat may illuminate the receiver,or block en-ergy transfersto it [23, 25]. A cluster may be visible toitself.Y The hierarchical wavelet radiosity solver generateshigh-quality radiosity solutions using wavelet basesof generalorderandGaussianquadrature[13, 15, 21].Y The local visibility oracle supportsoperationsfor allocatingand subdividingtubes,and acceleratingpoint-to-pointvisi-bility queriesfor quadrature[25]. Theglobaloraclesuppliesthe initial blockerlist for eachtube.Y Thevisualization moduleemploystheSiliconGraphicsIRISGL ZD[ to facilitate interaction,inspection,andanimationof

Page 4: Seth Teller Celeste Fowler Thomas Funkhouser Pat Hanrahan ...

geometricdatastructuresandalgorithms[24]. It hasprovenindispensableto developinga working system.

5 Partitioning

We wish to partitiona hugeradiositycomputationinto a sequenceof smallgathersto individual receivers,eachof which canfit intoa smallamountof memory.Whatinformationmustbemaintainedin order to scheduleand perform eachgathercorrectly? Clearlythereceiverandsourceclusterinvolvedmustbememoryresident,as must their braid (links) and blocker polygons(cf. Figure 2).We compilethis workingsetfor eachtransfer,andsupplyit to theradiositysolver.

Our system constructs partitioning information from threesources. First, the modeling instantiationhierarchyyields clus-tersof polygonsthat separatelycomprisethe structuralelements,furnishings, light fixtures, etc., of the model. Second,a spa-tial subdivisiongroupsclustersinto cellsby proximity, separatingthem along major sourcesof occlusion. Third, a visibility com-putationidentifiesall clusterpairs that may exchangeenergy [11,23, 26].

Thefinal tool is a flexible databasefrom which individual por-tions of the modelmay be extracted,modified andreplaced[11].We adaptedthe databaseto supportthe new datatypesrequiredfor radiosity.

5.1 The Algorithm

Our algorithm: extractseachreceiverand its visible set from thespatialdatabase;links them; refinesandgathersacrossthe links;and returns the modified clustersto the database.A hierarchi-cal wavelet radiosity solver performsthe refinementand gatheroperations.Our algorithm loops over receiverclusters\ in thedatabaseuntil convergence,executingthe following actions:

1. ReadR2. Install R into working set3. For eachsourcecluster ] visible to ^

(a) ReadS, blockers_�`a^ bF]dc(b) Install S, blockers_e`a^ bf]dc into working set(c) g = Tubea^Gbh]ibF_e`a^ bf]dcjc(d) Install( links in Braid `a^ bf]ibFgkc ) into working set(e) Invoke lnmRo prqQs Gather( eachpatchof ^ )(f) Discard newly refined links from working set(g) DeleteTube g(h) Remove] , blockers_t`a^ bX]dc from working set(i) SetDirtya]uc(j) Releasea]dc andblockers_t`a^ bX]dc

4. Invoke lnmRo prqQs PushPull( eachpatchof ^ )5. Extracta^Gc from working set6. SetDirtya^Gc7. Releasea^Gc

ThefunctionBraidvF\�wKxyw{z | in line 3}d~ simply generatestop-level links betweenvisible patch pairs from \ and x , usingblockerinformationfrom the tube z . Refinedlinks arediscarded(line 3} � ), since A) they cannotbe reuseduntil the next fulldatabaseiteration, and B) they are so numerousthat, at � 250bytes/link,they do not fit in a 32-bit (4Gb) addressspace.

5.2 Iteration Methods, Correctness, and Convergence

HierarchicalradiosityperformsJacobiiteration. That is, only af-ter a completeupdateof all patch’sgatherslotsare any patch’sshootslots updated(by Pushand Pull [15]). Jacobiiteration isclearly an untenablestrategyfor extremelylarge models,sinceitwould necessitatereadingand writing every patchtwice per up-date. Moreover,hierarchicalradiosity is often memory-boundin

practice,i.e., limited by thenumberandcomputationalcomplexityof its activesetof links, or by thesizeof thesolutionin progress.OurpartitioningschemeeliminatesJacobiiterationaltogether,andentirely removesthememorylimitations on hierarchicalradiosityfor environmentsof sufficiently limited visibility.

The correctnessof the partitionedsolveris easilyshown. Dur-ing anygatherto a cluster\ , theonly patchesexcludedassourcesare �@�����@�K�@�N�O� from \ , and thereforecannotaffect the computedsolutionon \ .

The convergenceof the partitionedsolver follows from a nu-mericalargument.Theschedulersolvestheradiositymatrix equa-tion as doestraditional hierarchicalradiosity,but for one differ-ence:eachreceiverseesa combinationof old andupdatedshootslotson otherclusters,ratherthanseeinguniformly old slots. Thescheduleris thereforeperformingGauss-Seideliterationof thelin-earsystem,ratherthanJacobiiterationasin hierarchicalradiosity.Since both methodsconverge for row-diagonallydominantsys-temsof radiosity equations[6], convergenceof the partitioningalgorithmis assured.

5.3 Partitioning Results

We studiedthe performanceof our systemfor modelsof varyingcomplexity. In onetest,weincreasedlocal complexityusingmod-els Office, OfficeLow, andOfficeHigh which representthe sameoffice without furniture,with coarselymodeledfurniture,andwithvery detailedfurniture. Thesethreemodelscontainroughly onehundred,fifteen hundred,and thirty-five hundredinput patches,respectively. In a secondtest, we increasedglobal complexityusing the unfurnishedmodelsOffice, Floor, and Building whichrepresentan office, one entire floor of a building, andfinally anentire five floor building (including an atrium and many offices,open areas,stairwells, and classrooms). Thesemodelscontainroughly one hundred,seventhousand,and forty thousandinputpatches,respectively.

Gather�0

2

4

6

8

10

12

14

Wor

king

Set

(M

b)

Figure 4: Working setsizewhile solving the Building model.

We measuredtheinput, intermediate,andoutputcomplexity,aswell as working setmemoryrequirements,for solutionsof thesetest models. Statisticsfor three completeiterations(gatherstoall clusters)of the radiosity solverare shownin Tables2 and3.Theminimum allowableelementareawasonesquareinch for allruns. All times are wall-clock measurementsusing a 16 � -sectimer, on a lightly loadedSGI CrimsonReality Enginewith a 50MHz R4000CPU,256Mbmemory,and8Gblocal disk. Figure4chartsthe sizeof the solverworking setduring one full iterationof the mostcomplexmodel,Building.

Severaltrendscan be gleanedfrom the measurements.First,thevisibility andhierarchicalradiositytechniquescompactedlargenumbersof potential elementsand interactionsto manageablesizes. Second,partitioning techniquessuccessfullyboundedtheworking setsizeat a few tensof megabytes,evenfor modelsde-mandingseveralgigabytesof intermediatesolution data. Third,intermediateand output complexity and running time appeartovary nearly linearly with input complexity. Thus, partitioning

Page 5: Seth Teller Celeste Fowler Thomas Funkhouser Pat Hanrahan ...

�����>�O� ����� qQs���qQ�>�@� � q � �O�O�>�O� ���>lnqQs�prq��Working Set (Mb) # Links # Elements ElapsedTime (s)

Model Clusters/ Patches/ Lights WS Total WS Total / Patch WS Total / Patch Total / PatchOffice 36 127 18 1.3 9.5 3,914 36,186 285 1,445 3,142 24.7 180 1.4

Office Low 70 1,418 21 11.1 239.9 38,593 960,432 677 7,081 36,377 25.7 7,111 5.0Office High 70 3,466 21 14.1 414.4 48,784 1,678,105 484 8,975 42,400 12.2 13,051 3.8

Table 2: Input, intermediate,and output complexities,and observedsolution times, for modelsof increasinglocal complexity. Thetabulatedquantitiesaredivided into: WS (the largestworking setprocessedby thesolver);Total (the total dataprocessedthroughouttherun); and Per Patch (the total amountdivided by the numberof input patches).The intermediateworking set WS was definedas thesizeof the links (including tubes,shafts,andkernelcoefficients),elements(including waveletcoefficients),andblockerpolygons.

�����>�O� ����� qQs���q����@� � q � �O�O�>�O� ���>lnqQsjprqQ�Working Set (Mb) # Links # Elements ElapsedTime (s)

Model Clusters/ Patches/ Lights WS Total WS Total / Patch WS Total / Patch Total / PatchOffice 36 127 18 1.3 9.5 3,914 36,186 285 1,445 3,142 24.7 180 1.4Floor 1,761 7,054 788 3.7 1,116.1 12,532 4,307,705 611 2,686 250,933 35.6 56,712 8.0

Building 9,625 39,979 7,826 14.5 6,063.0 52,454 23,528,943 589 7,104 1,265,843 31.7 491,040 12.2

Table 3: Input, intermediate,andoutputcomplexities,andobservedsolutiontimes,for modelsof increasingglobal complexity.

successfullyexploited the global sparsityof the interactionma-trix to achieveradiosity solutionsfor very large models,whilemaintainingquite small working sets.

6 Ordering

Partitioningaloneis not sufficient to producea practicalsystemfor large radiosity solutions. The partitionedtransfersmust beordered so as to minimize expensivereadsand writes of partialsolutiondatafrom andto the database.

To beeffective,anorderingalgorithmmustschedulesuccessivegathersso as to minimize disk accesses,while maintainingrapidconvergenceproperties. Much work has focusedon the effectsof ordering on convergencerates for the radiosity computation[5, 7, 12]; herewe concentrateon the effect of orderingon diskaccesses.

A goodorderingalgorithm maintainsa high degreeof coher-enceamongthe working setsof successivecluster interactions.Unfortunately, finding an optimal ordering is intractable. Theproblemis computationallyequivalentto finding a solutionto thetravelingsalesmanproblem.As apracticalsimplification,we haveconsideredonly orderingsin which all gathersto a singleclusterareperformedsuccessively(i.e., completegathers).Theseorder-ings are particularly efficient and easyto implementbecauseallsourcesandblockersfor a completegatherto a singleclusterarecontainedin the gatherer’svisible set. Our implementationreadstheentiresetof clustersvisible from thegathererinto thememoryresidentcachebeforeperformingany transfersto the gatherer.

We experimentedwith severalorderingalgorithms:, Random order gathersto clustersin randomorder., Model order gathersto clustersin the order in which they

were instantiatedby the modeler. In most cases,this isnot a randomorder sincemodelsare often constructedbysuccessiveaddition of related parts. For instance,in theBerkeleyComputerSciencebuilding model,walls, ceilingsandfloorswereinstantiatedfirst (groupedroughlyby room),followed by patchesrepresentinglight fixturesandfurniture.

, Source order gathersto that clusterwhich hasmost oftenactedasa source(ties arebrokenby proximity to the mostrecentgatherer).This strategyis basedon the intuition thatthe working set of a cluster that hasbeenvisible to many

previousreceiversis likely to havea large overlapwith thecurrentworking set., Cell order schedulesclustersby traversingcellsof thewall-alignedBSP-tree[8] spatial subdivision[23, 26]. Consec-utive cells are chosenby selectingthe neighborcell whoseinterveningboundaryhasthe largest transparentarea. Thisapproachexploits the visibility coherenceof clustersduetoproximity andlocal intervisibility.

Figure5 illustratestheeffect that orderingcanhaveon theco-herenceof theworking setduringanactualradiositycomputationinvolving almost2,000clusters.The figure depictsmatriceswitha dot at position vF��wj�R| if clusters�u� and � � werepotentiallyvis-ible to eachother. Otherwise,no interactionbetween� � and � �waspossible,andthespacevF�¡w¢�B| is left blank. Fourpermutationsof the underlyinginteractionmatrix weregenerated,by number-ing clusteringaccordingto theorderin which theyweregatheredto. Thus, the position of a clusteralong the axesof the matrixdependson the gatherorder. Figure5 depictsthe permutedma-trix resultingfrom gathersin A) randomorder, B) model order,C) sourceorderandD) cell order,respectively.

In the caseof randomand model orders,the interactionsarespreaduniformly over the matrix. No block structureis evident,indicating that objects with similar visibility characteristicsaregatheredto at very different times. When gatheringin sourceorderthematrixappearsmuchmoreblockstructured,especiallyintheearlyiterations.However,asgatheringproceedsthecoherenceappearsto degradeasevidencedby thefact thattheblockstructuredisappearsin the upperright. The bestorderingstrategyappearsto be cell order,yielding a matrix in naturalblock diagonalform,as would be expectedin a building model. Note the horizontalandverticalstripes;thesecorrespondto clustersin long corridorswith manyinteractions.

6.1 Ordering Results

We studiedthe effects of ordering algorithmson cacheperfor-manceby restricting the memory residentcachesize to 32Mbwhile solvinga one-floorbuilding model. In eachtest,everyclus-ter gatheredexactly once. We loggedstatisticsregardingclusterreads,writes, cachehit ratio, and I/O time during the third com-plete iteration of the radiosity computation(Table 4). All runswereexecutedon a 100 MHz R4000SGI Indigo£ with 160Mboffast memoryand1Gb of local disk.

Page 6: Seth Teller Celeste Fowler Thomas Funkhouser Pat Hanrahan ...

A) Random B) Model C) Source D) Cell

Figure 5: Matricesdepictingpermutationsof thecluster-clusterinteractionmatrix. A dot at position ¤F¥�¦j§B¨ denotespotentialintervisibilityof ©uª and ©¬« . Clusterpositionalongaxescorrespondsto gatherorderduringa completeradiosityiterationin A) randomorder,B) modelorder,C) sourceorder,andD) cell order.

Clusters Mb Cache I/O TotalOrder Read Read Hit Ratio Time(s) Time(s)Random 77,916 4,374 35.4% 23,330 49,111Model 44,163 2,376 63.4% 12,806 43,685Source 30,798 1,708 74.4% 8,912 33,815Cell 11,312 617 90.6% 3,180 26,454

Table 4: I/O statisticsfor variousorderingalgorithms.

Thereare significant differencesin the I/O overheadincurredby eachorderingalgorithm. Figure6 showsthepercentageof totalexecutiontime spenton I/O (transfersbetweenthedisk andmem-ory residentcache)for differentgatherorders.Randomorderhada 35.4%cachehit ratio, spending23,330seconds(47.5%of thetotal executiontime) on morethan4.3GBof I/O betweenthediskandmemoryresidentcache.In contrast,cell orderingachieveda90.6%hit ratio, spendingonly 3,180secondson I/O (12.0%of theexecutiontime). We concludethat theorderin which clustersareprocessedcangreatlyaffect performanceduringradiositycompu-tationson very largemodels.We arecurrentlyinvestigatingotherpossibleordering algorithms, including onesderived from pro-gressiveradiosity [5], nearestneighbors,and minimum spanningtrees[3]. We expectthat the bestorderingalgorithmswill takeinto accountboth cachecoherenceandconvergencebehavior.

Random­ Model® Source¯ Cell°Gather Order±

0

10000

20000

30000

40000

Ela

psed

Tim

e (s

econ

ds) Solver

²I/0

Figure 6: Time distributionsfor variousgatherorders.

7 Results

Using a Silicon GraphicsCrimsonworkstationwith a single 50MHz processorand256megabytesof mainmemory,wecomputedthreecompleteiterationsof a radiositysolution on the entireun-furnishedBerkeleyComputerScienceBuilding modelto oneinchresolution.The input modelhad9,625clusterscomprisinga totalof 39,979polygons.Of thesepolygons,7,826wereemissiveandservedas light sources.

To give anideaof scale,thetotal areaof all polygonsin theun-furnishedbuilding modelis 64,517,972squareinches.Therefore,

without the use of visibility-basedpartitioning and hierarchicaltechniques,thenumbersof elementsandlinks potentiallycreatedduringtheradiositycomputationatoneinchresolutionareapprox-imately ³´ µ¶·n¸y¹ and µ�´»º¼¶½·n¸r¾�¿ , respectively– unmanageablyhigh.

Statisticsregardingthetime andspacecomplexityof theradios-ity solution for the entire unfurnishedbuilding model are shownin Table5. To our knowledge,this is themostcomplexmodelforwhich a radiositysolutionhasbeencomputed.The entireradios-ity computationtook 136.4hoursandcreated1,265,843elementsand 23,528,943links – 2.0% and 0.00000056%of the potentialnumbersat one inch resolution, respectively. The partitioningtechniquesyielding a maximumworking set size of 14.5MB, or0.24%of the 6.1GB of total intermediateand output data. Cellorderingyielded a total I/O time of 14.2 hours,or 10.4%of thetotal executiontime.

# # # Max Solver I/O TotalIter Elements Links WS Time Time Time

0 39,979 - - - - -1 295,039 2,649,521 2.0 3.3 0.2 5.12 884,905 15,860,111 11.2 40.6 3.2 47.03 1,265,843 23,528,943 14.5 69.9 10.8 84.3

Total 1,265,843 23,528,943 14.5 113.8 14.2 136.4

Table 5: Complexity of radiosity solution for the unfurnishedbuilding model (timesarein hours).

The five color plateson the next pageshow imagesof a ra-diosity solutionfor onefurnishedfloor of theBerkeleyComputerScienceBuilding model,after two completeiterations.The solu-tion contains734,665elementsand took 48.5 hoursto compute.PlateI showsan overheadview of the furnishedfloor. PlatesIIand III show interior views of a typical furnishedoffice, shadedandwith anoverlaidquadtreemesh,respectively.The globalandlocal complexitiesof the radiosity solution are readily apparentfrom theseviews. PlatesIV andV showa typical work areaandhallway view, respectively.

The radiosity solutionsgeneratedby this systemare usedasinput for thereal-timewalkthroughprogram(thecolorplatesweregeneratedusing screen-capturesfrom this program). The samevisibility informationandcomputationsusedto determinesourceandreceiverinteractionsareusedto maintainan interactiveframeratein thewalkthrough.Thehierarchical(quadtree)representationof radiosity on eachpolygon is particularly useful, as it allowseasilyselectablelevelsof detail [10] for eachpolygon.

Page 7: Seth Teller Celeste Fowler Thomas Funkhouser Pat Hanrahan ...

PlateI. The entirefurnishedfloor, solvedto oneinch effective resolution(734,665elements).

PlateII: Office, gouraudshaded.

PlateIV: Workroom,gouraudshaded.

PlateIII: Office, meshed.

PlateV: Hallway, gouraudshaded.

Page 8: Seth Teller Celeste Fowler Thomas Funkhouser Pat Hanrahan ...

8 Summary and Discussion

This paperpresenteda systemthat exploits visibility and coher-ence information to computeradiosity solutions for very largegeometricdatabases,using existing high-quality global illumi-nation algorithms. Physically-basedlighting simulation is morechallengingthanstandardrenderingalgorithmsin that the outputcomplexityis very high,andtheintermediatecomplexityandcal-culation costsare evenhigher. However,in the future therearelikely to bemanyapplicationsrequiringdisplayof complex,real-istic virtual environments,suchasthebuilding usedin this study.To achievesuchcomplexityrequiresadvancesat both thetheoret-ical andthepracticallevel. The theoreticaladvancesdiscussedinthis paperare the visibility andhierarchicalradiosityalgorithms.The practicaladvancesincludetheuseof systemtechniquessuchasdatabases,scheduling,andcaching.

Specifically,we haveimplementeda systemcapableof com-putingradiositysolutionsfrom largemodelsresidingin a databasestoredon a disk. We show how partitioning the model leadstosmall working sets,allowing us to processdatabasesmuchlargerthenthosewe couldhandlewithout partitioning. Poorpartitioningof the databasecan causeit to be readand written many times.We showhow cleverorderingcansignificantlyreducedisk traffic.The combinationof thesetwo techniquesallow us to handleverylarge geometricmodels.

Given our experiencewith the system to date, the follow-ing researchdirectionsseempromising. First, the tradeoffs be-tweengatheringandshootingalgorithmsin hierarchicalradiosityshouldbe investigated,aspreliminaryresultsindicatethat shoot-ing convergesmore rapidly in somesituations. Second,interac-tions amongobjectscomprisedof manysmall polygonsmustbehandledmore efficiently, perhapsby incorporatingthe notion oflevelsof detail into the radiositysolutionmethod.Third, thevis-ibility calculationsusedto determinesoft shadowsarestill veryexpensive,and shouldbe improved. Finally, the refinementor-acle employedby the hierarchicalradiosity algorithm is far tooconservative.Ratherthanrelying solelyon estimatesof form fac-tor and transporterror, it should incorporatea term baseduponrepresentationerror over eachreceiversurface.

Acknowledgments

Carlo Séquin foundedtheBuilding WalkthroughGroupat Berke-ley, and generouslysharedthe latestmodel of Berkeley’s(now-built) ComputerScienceBuilding, SodaHall. David Laur’s helpwith systemadministrationand color figureswas indispensable.Peter Schröder contributed to a C++ reimplementationof thewaveletradiositysolver. MichaelCohensharedhis insightsaboutiterativeradiositysolutionmethods.Finally, Dan Wallachhelpedwith videoproductionfor thepapersubmission,andTamaraMun-znerhelpedprocessstatisticsfor the final version.

We are grateful to the National ScienceFoundation(contractNo. CCR 9207966)and to DIMACS for their support,and toSilicon Graphics,ForestBaskett,andJim Clark for their gift of aReality Engine.ÀDÁ

References[1] ÂDÃKÄ�ÅNÆDÇÉÈ Æ>ÊËÃ�Ì�Ì�ÆNÍ7È Æ�Í�ÅNÎ ÏKÐ�ÆNÑkÈ ÆDÃ�Ì�ÒÔӼΠÌ�Õ�Ö¡Ï×ÆDØ;È Making Radiosity

Usable:AutomaticPreprocessingandMeshingTechniquesfor the Generationof AccurateRadiositySolutions.ComputerGraphics(Proc.Siggraph’91) 25,4 (1991),51–60.

[2] ÂDÃKÄ�ÅNÆ�ÇÉÈ ÆyÃ�Ì�ÒtӼΠÌ�ÕQÖ¡ÏKÆDØ;È Real Time RadiosityThroughParallelPro-cessingandHardwareAcceleration.ComputerGraphics(1990SymposiumonInteractive3D Graphics)24, 2 (March 1990),67–75.

[3] Â>Ö¡Ì×Ï×Ù¢Ö¡Ú�Æ×Ø;È ExperimentsonGeometricTravelingSalesmanHeuristics.Tech.Rep.ComputingScience(No. 151), AT&T Bell Laboratories,1990.

[4] Û�Ã�ÅNÜ¡Ý�Ö¡Ù�Ù>ÞfÞhÞXÆ�ßdÈ Æ�Ã�Ì�ÒiàBÄ�ájájÖ¡Ù¢Ù�Æ�ÇÉÈ AdaptiveMeshGenerationfor GlobalDiffuse Illumination. ComputerGraphics(Proc. Siggraph’90) 24, 4 (1990),155–164.

[5] Û�â�Ð�Ö¡Ì�ÆãÊ¼È ÆEÛ�Ð�ÖnÌ�Æ Í7È ÆrÓäÃ�Ù�Ù�Ã�åKÖ¡ÆiØ;È ÆEÃ�Ì�Ò¼æiç×Ö¡Ö¡Ì×ÝKÖ¡ç¡ÕQÆ ÇÉÈ A Pro-gressiveRefinementApproachto FastRadiosityImageGeneration.ComputerGraphics(Proc. Siggraph’88) 22, 4 (1988),75–84.

[6] Û�â�Ð�Ö¡Ì�ÆBÊ¼È Æ;Ã�Ì×ÒGæãç×Ö¡Ö¡Ì�Ý�Ö¡ç�Õ�ÆRÇÉÈ The Hemi-Cube:A RadiositySolutionfor Complex Environments. ComputerGraphics(Proc. Siggraph’85) 19, 3(1985),31–40.

[7] èBé¡êKë�ì�í¼î ì�ë�ï�êuðNñ�ò¡óQënôKõ�ö�÷né¡ò×ì�øî Acceleratingradiosityby overshooting.In Proc. ùú�û EurographicsWorkshopon Rendering(May 1992),pp. 21–31.

[8] èBñ×ü×õ×ýjì�þÿî ì��ãé¡ê�é��Nì���î ìKë�ï�ê��rë���ö�ò×ì�� î Predeterminingvisibility priorityin 3-D scenes.ComputerGraphics(Proc.Siggraph’79) 13, 2 (1979),175–182.

[9] èBñ×ï� Qõ×öQñ×ýjé¡ò×ì��¬î Databaseand Display Algorithmsfor InteractiveVisual-izationof ArchitecturalModels. PhD thesis,(Also TR UCB/CSD93/771)CSDept.,UC Berkeley,1993.

[10] èBñ×ï� Qõ×öQñ×ýjé¡ò×ì��uî ìië�ï�ê����é�Qñ�� ï×ì��uî Adaptive display algorithm for in-teractive frame rates during visualization of complex virtual environments.ComputerGraphics(Proc. Siggraph’93) 27 (1993),247–254.

[11] èBñ×ï� Qõ×öQñ×ýjé¡ò×ì��uî ì����é���ñ�� ï�ì��uî ìDë�ï�ê���é���é¡ò×ì��Bî Managementof LargeAmountsof Data in InteractiveBuilding Walkthroughs.In Proc. 1992Work-shopon Interactive3D Graphics (1992),pp. 11–20.

[12] �ãöQò�ô��é¡ò×ì��7î ì���ö�õ�é¡ï×ì;í¼î ì7ë×ï�ê ���ñ×ýjë�!�é� �ìBðiî Radiosityandrelaxationmethods– Progressiverefinementin Southwell relaxation. TechnicalReportTR-408-93,Departmentof ComputerScience,PrincetonUniversity, 1993.

[13] �ãöQò�ô��é¡ò×ì��7î ì"�×üKõ�ò$#öQê�é¡ò×ì×ðiî ì���ö�õ�é¡ï�ìQí¼î ìOë×ï�êuþrë�ï�ò×ë×õ�ë�ï�ìQðiî Waveletradiosity. ComputerGraphics(Proc.Siggraph’93) (August1993),221–230.

[14] þrë�� ï×é¡ýjì&%iî ìuë�ï�ê5øËë�!�ë�üKé¡ì�'î Shaft Culling for Efficient Ray-TracedRadiosity. In Proc. (")Qû EurographicsWorkshopon Rendering(May 1991).

[15] þrë�ï×ò×ë�õ�ë�ï×ì;ðiî ì"��ë��*��Në�ï�ì,+Éî ìë�ï�ê ->ñ�.�.¡é¡ò/¢é¡ì�0yî A RapidHierarchicalRadiosityAlgorithm. ComputerGraphics(Proc. Siggraph’91) 25, 4 (1991),197–206.

[16] þré¡ü� �1Ké¡ò�ôKìNðiî ìDë�ï�êtø2� ï�óQé¡ôKì�';î Finite elementmethodsfor global illu-mination. Tech.Rep.UCB/CSD91/643,CS Department,UC Berkeley,1991.

[17] 0�� ýjüKõ�� ï�ý3 4� ì�+Éî ì/�;ë���.�� é¡ò/� ìOèrî ì�ë�ï×ê&�iò×éné¡ï�1Kénò�óQì�+Éî¢ðãî CombiningHier-archicalRadiosityandDiscontinuityMeshing.ComputerGraphics(Proc.Sig-graph ’93) 27 (1993).

[18] íËë�ò/ �ýjì�';î ìDøäë��ýjõ�ì$5dî ì���õ�ò/� ýjôKé¡ï×ýjé¡ï�ì�';î ì>ë×ï�êÔèBò/� é¡ê�é�!�ìNí¼î ImageandIntervisibility Coherencein Rendering.In Proc. of GraphicsInterface’90(May 1990),pp. 17–30.

[19] 5yé¡ü� �é¡ò×ì�5dî ì/�ãé¡ö�ò�óQé¡ì�+Éî ì×ë�ï×ê6�ãò×é¡é¡ï�1�é¡ò¡óQì�+Éî AccelerationTechniquesfor ProgressiveRefinementRadiosity. ComputerGraphics (1990 Symp.onInteractive3D Graphics)24, 2 (1990),59–66.

[20] 5Dñ�ýjõ��Né�� é¡ò×ìRþÿî ì;ðQë�ô×ôKé¡ò×ýjö�ï�ì$�uî ì;ë�ï�ê87ré¡é¡ò×ë×ýjë�����ì�-ÿî Geometricsim-plification for indirect illumination calculations.In Proc. GraphicsInterface’93 (1993),pp. 227–236.

[21] ��üKõ�ò #ö�ê�é¡ò×ìQðiî ì��ãö�ònô��é¡ò×ì��7î ì���ö�õ�é¡ï�ìQí¼î ìOë×ï�êuþrë�ï�ò×ë×õ�ë�ï�ìQðiî Waveletprojectionsfor radiosity. In EurographicsWorkshopon Rendering (1993),pp. 105–114.

[22] ����� ôKýjì��¬î ì�-yò�9Kö�ì�';î ìDë�ï�ê:�ãò×é¡é¡ï�1�é¡ò¡óQì�+Éî A ClusteringAlgorithm forRadiosityin ComplexEnvironments.ComputerGraphics(Proc.Siggraph’94)28 (1994).

[23] ��é�!¢é¡ò×ì;�Bî Visibility Computationsin DenselyOccludedPolyhedralEnvi-ronments. PhD thesis,(Also TR UCB/CSD 92/708)CS Dept., UC Berkeley,1992.

[24] ��é�!¢é¡ò×ì6�Bî A Methodology for GeometricAlgorithm Development. InProc. ComputerGraphics International ’93 (1993), N. and D. Thalmann,Eds.,pp. 306–317.

[25] ��é�!¢é¡ò×ì;�Bî ìië×ï�ê�þrë×ï�ò×ë�õ�ë×ï�ìEðãî Global Visibility Algorithms for Illu-mination Computations.ComputerGraphics(Proc. Siggraph’93) 27 (1993),239–246.

[26] ��é�!¢é¡ò×ì��7î ìEë�ï×ê<���é��Qñ/� ï�ì��uî;þdî Visibility Preprocessingfor InteractiveWalkthroughs.ComputerGraphics(Proc. Siggraph’91) 25, 4 (1991),61–69.

[27] ��ò¡öQñ�ô��Në�ï×ì�5dî ìyë�ï�ê�íËë/=�ì;�ÿî Radiosity algorithmsusing higher orderfinite elementmethods.ComputerGraphics(Proc.Siggraph’93) (1993),209–212.

[28] øäë���ëKüKé¡ì�'î ì"%�����Qñ/� ýhô×ì"�kî ìRë×ï�ê þrë�� ï�énýjì,%iî A Ray TracingAlgorithmfor ProgressiveRadiosity. ComputerGraphics (Proc. Siggraph’89) 23, 3(1989),315–324.

[29] >rñ�ì>þdî ìDð7é¡ï�óQì�?kî @A�7î ìDë�ï�ê�0,� ë×ï�óQì�Bÿî @A+Éî Acceleratedradiosity methodfor complexenvironments.ComputersandGraphics14, 1 (1990),65–71.

[30] �ënô�*¢ì¬þÿî Galerkin radiosity: A higher order solution method for globalillumination. ComputerGraphics(Proc. Siggraph’93) 27 (1993),213–220.