Path Manipulation Strategies for Rendering Dynamic
Total Page:16
File Type:pdf, Size:1020Kb
PATH MANIPULATION STRATEGIES FOR RENDERING DYNAMIC ENVIRONMENTS Adina Andreea Bizdideanu DOCTOR OF ENGINEERING IN DIGITAL MEDIA Centre for Digital Entertainment Bournemouth University October 2018 II This copy of the thesis has been supplied on condition that anyone who consults it is understood to recognise that its copyright rests with its author and due acknowledgement must always be made of the use of any material contained in, or derived from, this thesis. III IV Abstract The current work introduces path manipulation as a tool that extends bidirectional path tracing to reuse paths in the temporal domain. Defined as an apparatus of sampling and reuse strategies, path manipulation reconstructs the subpaths that compose the light transport paths and addresses the restriction of static geometry commonly associated with Monte Carlo light transport simulations. By reconstructing and reusing subpaths, the path manipulation algorithm obviates the regeneration of the entire path collection, reduces the computational load of the original algorithm and supports scene dynamism. Bidirectional path tracing relies on local path sampling techniques to generate the paths of light in a synthetic environment. By using the information localized at path vertices, like the probability distribution, the sampling techniques construct paths progressively with distinct probability densities. Each probability density corresponds to a particular sampling technique, which accounts for specific illumination effects. Bidirectional path tracing uses multiple importance sampling to combine paths sampled with different techniques in low-variance estimators. The path sampling techniques and multiple importance sampling are the keys to the efficacy of bidirectional path tracing. However, the sampling techniques gained little attention beyond the generation and evaluation of paths. Bidirectional path tracing was designed for static scenes and thus it discards the generated paths immediately after the evaluation of their contributions. Limiting the lifespan of paths to a generation-evaluation cycle imposes a static use of paths and of sampling techniques. The path manipulation algorithm harnesses the potential of the sampling techniques to supplant the static manipulation of paths with a generation-evaluation-reuse cycle. An intra-subpath connectivity strategy was devised to reconnect the segregated chains of the subpaths invalidated by the scene alterations. Successful intra-subpath connections generate subpaths in multiple pieces by reusing subpath chains from prior frames. Subpaths are reconstructed generically, regardless of the subpath or scene dynamism type and without the need for predefined animation paths. The result is the extension of bidirectional path tracing to the temporal domain. V VI Contents Abstract ................................................................................................... V List of Figures ........................................................................................ XI List of Tables ........................................................................................ XV List of Symbols .................................................................................. XVII Acknowledgments .............................................................................. XXI 1 Introduction ........................................................................................ 1 1.1 Industrial context .......................................................................................... 5 1.2 Summary of contributions ............................................................................. 8 1.3 Thesis outline ................................................................................................ 9 2 Background and literature review ................................................. 11 2.1 Solid angle .................................................................................................. 11 2.2 Radiometric quantities ................................................................................ 14 2.2.1 Radiant power .............................................................................. 14 2.2.2 Irradiance, radiant exitance and radiant intensity ........................ 15 2.2.3 Radiance ....................................................................................... 15 2.3 Surface scattering ........................................................................................ 17 2.3.1 The bidirectional scattering distribution function ........................ 17 2.3.2 The bidirectional reflectance distribution function ...................... 18 2.3.3 Surface reflectance ....................................................................... 22 2.3.4 Local illumination and the rendering equation ............................ 23 2.4 Light transport ............................................................................................. 25 2.4.1 The light transport linear operators .............................................. 25 2.4.2 The surface domain formulation .................................................. 27 2.4.3 The path integral formulation ...................................................... 30 VII 2.5 Light transport algorithms .......................................................................... 36 2.5.1 Radiosity ...................................................................................... 37 2.5.2 Precomputed light transport ......................................................... 39 2.5.3 Ray tracing ................................................................................... 42 2.5.4 Monte Carlo ray tracing ............................................................... 44 2.5.5 Photon mapping ........................................................................... 57 2.5.6 Unified estimation ....................................................................... 62 2.5.7 Instant radiosity ........................................................................... 67 2.5.8 The choice of algorithmic foundation.......................................... 73 2.6 Path manipulation strategies and related work ........................................... 75 2.6.1 Improved efficiency via sampling-oriented techniques ............... 76 2.6.2 Accelerated Monte Carlo ray tracing ........................................... 80 2.6.3 Temporal coherence and path reuse ............................................ 88 2.7 Conclusions ................................................................................................. 95 3 Path manipulation strategies .......................................................... 97 3.1 Background: sampling and estimate computation ...................................... 98 3.1.1 Local path sampling techniques................................................... 98 3.1.2 Evaluation of the sample contribution ....................................... 101 3.2 Path validity and immutable contribution ................................................. 107 3.3 Invalidation and anchor computation ....................................................... 110 3.4 Reconstruction .......................................................................................... 113 3.4.1 Primary anchor reconstruction ................................................... 113 3.4.2 Two-chain reconstruction .......................................................... 116 3.4.3 Terminus anchor reconstruction ................................................ 125 3.5 High-level algorithm description .............................................................. 128 3.6 Algorithm analysis .................................................................................... 129 3.7 Conclusions ............................................................................................... 135 VIII 4 Light transport framework implementation ............................... 137 4.1 Supported Monte Carlo algorithms ........................................................... 138 4.2 The standard Monte Carlo pipeline ........................................................... 139 4.2.1 Ray generation ........................................................................... 141 4.2.2 Point sample computation .......................................................... 142 4.2.3 Path generation .......................................................................... 142 4.2.4 Visibility computation ............................................................... 146 4.2.5 Contribution evaluation ............................................................. 148 4.2.6 Image synthesis .......................................................................... 152 4.2.7 Bidirectional path tracing ........................................................... 153 4.3 The reconstruction pipeline ....................................................................... 154 4.3.1 Invalidation and anchor computation ........................................ 155 4.3.2 Intra-subpath reconnection ........................................................ 159 4.3.3 Subpath regeneration ................................................................. 161 4.3.4 Contribution re-evaluation ......................................................... 164 4.3.5 Collateral subpath identification and re-evaluation ................... 165 4.3.6 The path manipulation algorithm ............................................... 167 4.4 Conclusions ..............................................................................................