TWO ALGORITHMS FOR PROGRESSIVE COMPUTATION OF ACCURATE GLOBAL ILLUMINATION A Dissertation Presented to the Faculty of the Graduate School of Cornell University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy by Parag Prabhakar Tole January 2003 c 2003 Parag Prabhakar Tole (cid:0) ALL RIGHTSRESERVED TWO ALGORITHMSFOR PROGRESSIVE COMPUTATION OFACCURATE GLOBAL ILLUMINATION Parag Prabhakar Tole,Ph.D. CornellUniversity2003 In this thesis, we present two new algorithms for computing accurate global illumina- tion. These algorithmsare general and progressivelikepath tracing, but providesignif- icant efficiencygainsby exploitingcoherence intheillumination. The first algorithm reduces the variance of path tracing by filtering the contribution ofindividuallightpathsintheimageplane. Pathspacecoherenceisexploitedbyspread- ing the contribution of each path over several pixels. This redistribution is performed using an energy-preserving filter that is constructed based on the local geometry and reflectivity of the environment. The filter size is selected adaptivelyfor each path so as to minimize the noise in the image. A major advantage of our algorithm is its progres- sive convergence property: the user does not have to specify any parameters that affect the accuracy of the final image because the algorithm can generate and filter additional light paths until the displayed image is sufficiently accurate. The filtering approach is predictive,progressive,generalandfullyautomatic. Therefore,webelievethatitcanbe successfullyemployedinsystemsforhighqualityrendering. The second algorithm is better suited for interactive computation of global illumi- nation in fully dynamic scenes. This algorithm uses a novel scheme for caching the results of a path tracer. The Shading Cache is an object-space hierarchical subdivision mesh with lazily computed shading values at its vertices. A high frame rate display is generatedfromtheShadingCacheusinghardware-basedinterpolationandtexturemap- ping. An image space sampling scheme refines the Shading Cache in regions that have themostestimatederrororthosethatare mostlikelyto beaffected by objectorcamera motion. Our system can efficiently handle dynamic scenes and moving lights, provid- ing useful feedback within a few seconds and high quality images within a few tens of seconds. For the models tested, the Shading Cache significantly outperforms other interactiveglobal illuminationsystems, especially in dynamic scenes. Based on our re- sults,webelievethattheShadingCachecanbeaninvaluabletoolinlightingdesignand modellingwhilerendering. BIOGRAPHICALSKETCH The author was born on February 8, 1975. He studied Computer Science at the Indian InstituteofTechnologyinMumbaifrom1993to1997andthenjoinedthePh.D.program at Cornell Universityin Ithaca, New York in thefall of 1997. He received his doctorate from Cornellin January 2003. iii Tomyfamily iv ACKNOWLEDGEMENTS IamverygratefultoDonGreenbergforgivingmetheopportunitytostudyatoneofthe bestresearchlabsintheworld,theProgramofComputerGraphicsatCornellUniversity. Thank you Don for your vision and your leadership, for giving me the chance to work withso manysmart peopleand ofcourse, fortheresearch grants. Some of the research presented in this dissertation was performed in collaboration withFabioPellaciniandthisdissertationwouldnothavetakenitspresentshapewithout his insights. Thanks also to Prof. Stephen Vavasis and Prof. Michael Nussbaum for serving on my special committee. Special thanks to Philip Dutre´ and Bruce Walter for answering every graphics question I could ever think of and many that I did not think of. Thanks also to Bruce, Sebastian Fernandez and the rest of the Real Time Global Illumination group at PCG for developing the jkar, skar, fileformat and rtgi code bases that I used extensively in all of my projects, to Ryan Ismert, Ben Trumbore, David Hart and others who worked on the 3dStudio Max plugin for exporting models to our homegrownmdlformatand toMahesh Ramasubramanianfortheglimageviewer. The 3D models used in this dissertation were produced by Fabio Pellacini, Jeremy Selan, Reynald Dumont and Hector Yee using Discreet’s 3DStudio MAX software. Some portions of these models and the textures used in them were acquired from the 3dStudioMAXdistribution,3dcafe.com,the3dstudio.comandPaulBourke. Additional textures were painted in Adobe Photoshop or photographed by Fabio Pellacini, Jeremy SelanandReynaldDumont. Thankstoeleganza.comforallowingustousetwooftheir imagesas texturesinsomeofourrelated ACM publications. LindaStephenson,PeggyAndersonand JonathanCorson-Rikerttookcareofallthe administrativeworkduringmyfouryearsinthelabandIamextremelygratefultothem forshieldingmefrombureaucracyasmuchaspossible. ThankstoHurfSheldon,Martin v Berggren,MitchCollinsworthandtheirstudentassistantsforkeepingthecomputersys- tems up and running and for giving meaccess to the latest and greatest hardware in the lab. ThankstoMartin,Jeremy andRandy Fernando forhelpingout withtheproduction of the SIGGRAPH videos. Finally, thanks also to Hongsong Li, SuAnne Fu, Sumant Pattanaik,EricLafortune,SteveWestin,JackTumblin,JimFerwerda, KavitaBala,Eric Haines,DanGelb,EricWong,DanKartch,JohnMollis,VikashGoel,BryanVandrovec, Corey Toler, Sherwin Tam, Michael Malone, Moreno Piccolotto, Steve Berman and RichLevyandtherestofmycolleaguesatPCGforparticipatinginmylearningexperi- enceand formakingmystay at Cornellamemorableone. A portion of the work in Chapter 4 of this dissertation has been published in ACM SIGGRAPH 2002 and ACM Transactions on Graphics. ACM retains the copyright for those publications. The presentation of parts of that published material in this disserta- tionisin accordance withtheACM TransferofCopyrightAgreement. Thiswork was supportedbytheNSF Scienceand TechnologyCenterfor Computer Graphics and Scientific Visualization (ASC-8920219) and MRA parallel global illumi- nation project (ASC-9523483), and performed using equipment generously donated by theIntelCorporation andNVIDIA Corporation. vi TABLE OFCONTENTS Biographical Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii Dedication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v TableofContents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii ListofTables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix ListofFigures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x 1 Introduction 1 1.1 Predictiveimagesynthesisusingglobalillumination. . . . . . . . . . . 2 1.2 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 ThesisOutline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Previous Work 11 2.1 Ray-tracing Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2 Finiteelementalgorithms . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3 Hybridglobalilluminationalgorithms . . . . . . . . . . . . . . . . . . 15 2.4 InteractiveGlobalIllumination . . . . . . . . . . . . . . . . . . . . . . 17 2.4.1 Visualizationofpre-computedglobalillumination . . . . . . . 18 2.4.2 Interactivelyupdatedglobalillumination . . . . . . . . . . . . 19 2.4.3 Brute-force techniques . . . . . . . . . . . . . . . . . . . . . . 21 2.5 Comparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3 ProgressiveGlobalIlluminationusing Energy Preserving Filters 27 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2 Pixel-independentestimatorforglobalillumination . . . . . . . . . . . 32 3.2.1 Variance estimationand adaptivesampling . . . . . . . . . . . 34 3.3 Filteringforvariancereduction . . . . . . . . . . . . . . . . . . . . . . 36 3.3.1 Filtering thepixel-independentestimator . . . . . . . . . . . . 36 3.3.2 BRDF-based EnergyPreserving Filter . . . . . . . . . . . . . . 38 3.3.3 Adaptivefiltersizeselection . . . . . . . . . . . . . . . . . . . 42 3.4 ImplementationDetails . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.4.1 DataStructure . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.4.2 Efficient ImagePlaneSampling . . . . . . . . . . . . . . . . . 49 3.4.3 Direct IlluminationComputation . . . . . . . . . . . . . . . . . 50 3.5 Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4 The Shading Cache: AnArchitecture forInteractive GlobalIllumination 59 4.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.2 SystemOverview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.2.1 UpdatingtheShadingCache . . . . . . . . . . . . . . . . . . . 65 vii 4.2.2 SampleRenderer . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.2.3 Efficient display . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.3 SampleSelection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.3.1 Estimationofinterpolationerror . . . . . . . . . . . . . . . . . 69 4.3.2 Samplingtheprioritymap . . . . . . . . . . . . . . . . . . . . 69 4.3.3 Avoidingbias inthesampling . . . . . . . . . . . . . . . . . . 71 4.3.4 Reconstructing shadingdiscontinuities . . . . . . . . . . . . . 72 4.4 View-dependenteffects and object motion . . . . . . . . . . . . . . . . 73 4.4.1 View-dependentillumination . . . . . . . . . . . . . . . . . . . 73 4.4.2 Motion-dependentshading . . . . . . . . . . . . . . . . . . . . 75 4.4.3 Providingfast updates . . . . . . . . . . . . . . . . . . . . . . 76 4.5 Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.6 Comparisonwithsimilarsystems . . . . . . . . . . . . . . . . . . . . . 80 4.7 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.7.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5 Accurate GlobalIlluminationusing theShading Cache 90 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.2 Progressivemesh refinement andnoisereduction . . . . . . . . . . . . 92 5.3 Progressiverefinement fortheShading Cache . . . . . . . . . . . . . . 98 5.3.1 Computingtheerror estimates . . . . . . . . . . . . . . . . . . 98 5.3.2 Priority assignment . . . . . . . . . . . . . . . . . . . . . . . . 98 5.3.3 Load balancing . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.4 Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 6 Conclusion 104 Bibliography 108 viii
Description: