SlideServe
Menu
Préférences
© SlideServe · v2026

Using Interactive Ray Tracing for Interactive Global Illumination

gareth-patton avatar
19 diapositives · 419 Views · Nov 07, 2014

Using Interactive Ray Tracing for Interactive Global Illumination. Computer Graphics Lab Saarland University, Germany http://graphics.cs.uni-sb.de. Interactive Global Illumination - Goals. Support for all relevant features Complete direct & indirect diffuse illumination

Using Interactive Ray Tracing for Interactive Global Illumination - slide 1
01 / 19Using Interactive Ray Tracing for Interactive Global Illumination
1 / 17

Télécharger la présentation

Using Interactive Ray Tracing for Interactive Global Illumination
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Using Interactive Ray Tracing forInteractive Global Illumination Computer Graphics Lab Saarland University, Germany http://graphics.cs.uni-sb.de

  2. Interactive Global Illumination - Goals • Support for all relevant features • Complete direct & indirect diffuse illumination • Specular Effects: Refractions, Reflections, Caustics • Be independent of geometry (scalability) ! • Interactive: > 1 fps at video resolution (640x480) • Full recomputation every frame • Lights, Materials, Geometry, Camera, … • No approximative or image-based techniques • Interactive, user-controllable speed/quality tradeoff • E.g. trade some flickering or aliasing for speed … • Automatic and progressive convergence to high-quality solution when possible (e.g within 2-5 sec)

  3. Interactive Global Illumination - Goals

  4. Interactive Global Illumination • Previous solutions: • Image-Based approaches • Artifacts • Radiosity + OpenGL • Missing specularities, Meshing artifacts, … • High-quality Global Illumination uses ray tracing anyway • Ray Tracing is now interactive

  5. Interactive Global Illumination • Previous solutions: • Image-Based approaches • Artifacts • Radiosity + OpenGL • Missing specularities, Meshing artifacts, … • High-quality Global Illumination uses ray tracing anyway • Ray Tracing is now interactive Simplisitic Idea: “Interactiveray tracing”+“Ray-traced global illumination”= Interactive global illumination

  6. Interactive Global Illumination But: Real World isn’t simplistic… Problem: GlobIllum often doesn’t scale (shared-memory)… • Radiosity: • Shared global data for radiosities, geometry-dependency • Photon Map: • KD-Tree reconstruction every frame, global photon map data, … Have to live with extremely low sample rates • Even 16 MRays/sec is only 16 rays/pixel at 640x480x3Hz… • Path-Tracing and Bidirectional Path-Tracing too noisy …  Need another approach …

  7. Instant Global Illumination Our approach: “Instant Global Illumination” • Done in cooperation with Kaiserslautern University(Alex Keller and Thomas Kollig) • Most of the algorithms are based on their work ! • Idea: Combine advantages of several, differentalgorithms: • Instant Radiosity: smooth diffuse lighting • Ray Tracing: reflections, refractions, visibility testing • Interleaved Sampling (ILS): better quality, easy to parallelize • Discontinuity Buffer: removes ILS artifacts • Caustic Photon Mapping: the only way for sensible caustics

  8. Basic Ingredient: Instant Radiosity [Keller] • Trace few (10-20) particles from (area) light sources • Use these to light the scene as ‘virtual point lights’ (VPLs) • Contains both direct and indirect diffuse illumination • Shadows originally with OpenGL, now with Ray Tracing • Raytracing gives reflections/refractions for free • Inherently smooth, since radiosity-based • Artifacts for few VPLs • Converges, but at only 10-20 VPLs clearly visible • Plus: Add PhotonMapfor Caustics • Hack for faster query…

  9. Too few samplesAdd Interleaved Sampling • Use different sets of virtual point lights for diff. Pixels • Every SxS’th pixel uses same set of VPLs and caustic photons • Recomputing VPL’s and photons for every pixel too costly… • Better quality: • 9 times as many VPLsper image than without • Same for photons ! • Still cheap pixels ! • Easily parallelizable • Each CPU needs only 1 set Scales with #CPUs !!! • Aliasing • Can see SxS grid …

  10. ILS Aliasing  Add Filtering • Discontinuity Buffer [Keller, Kollig] • Filter irradiances of neighbouring pixels • Smoothing/removal of ILS-artifacts • Like irradiance caching, but more stable • Only filter in smooth regions, detect discontinuities • Criterion: normal & distance • Problem: Clients don’t have neighboring pixels ! • Server has to filter High server load • Server has to get required data • Normal, irradiance, distance • High network bandwidth !

  11. Finally, add QMC • Use Randomized Quasi Monte Carlo [Keller et al] • Much faster convergence, especially for such small sample rates ! • Can be combined easily with Interleaved sampling • Plus: ‘Technical’ advantages of QMC • Fast random number generation (table lookup + bit-ops) • Can reproduce any sequence of samples based on single seed value • Can easily synchronize different clients on same data • Each client can easily reproduce the sample set of any other client • Avoid ‘jumping’ of VPLs: • Just start with same seed every frame • For progressive convergence, just advance the seed value… • QMC sequences perfectly combine into the future…

  12. Summary • Base ingredient • Instant Radiosity + Ray Tracing • Plus fast caustic photon maps • Combine with Interleaved Sampling • Better quality • Parallelizable • Remove ILS artifacts with Disco-Buffer • Faster convergence • Better parallelizability • Use randomized QMC • Low sampling rates, parallelizability • Result: Definitely not perfect • But not too bad for only ~20 rays/pixel !

  13. Parallelization & Scalability • Adapt Scheduler to ILS: • Different clients work on different sets • Same client preferably works on same set  In theory, each client only has to compute one sample set • In practice, its still about only 1.5-2 out of 9 • Very small overhead (few redundant operations) • But: Server Bottleneck due to Disco-Buffer • Filtering cost and Network bandwidth limit max. framerate • Currently: On dual-Athlon 1800+: max. framerate of ~5 fps.. • But: Can still scale in quality • Twice #CPUs = Twice #VPLs/pixel at same framerate !  Limited only by max. framerate, not by number of clients !

  14. Results • Up to 5 fps at video resolution (640x480) • With 8+ dual Athlon MP 1800+ • All targeted effects • Reflections, refractions and caustics • Smooth direct and indirect diffuse illumination • Everything recomputed every frame • No limitation on interaction types • All parameters can be changed interactively • Sampling rate, photon query radius, filter size, … • Automatic convergence to high-quality solution • high good quality in about 2-5 sec.

  15. Current Research • Have implemented a new improved system from scratch • Main Features: • 2-3 times faster through ray packet traversal and streaming architecture • Removed photon shooting • Support for accumulation on client side, necessary for providing high quality during interaction and animation • Nearly linear scalability • up to 22 fps at 640x480 with reduced quality • Sub-linear costs in image resolution • Fully programmable shading

  16. Example Images

  17. Remaining Problems& Future Work • Still to slow (it’s always too slow…) • Incorporate glossyness/arbitrary BRDF’s • Emission properties for light sources • Caustics • Main Limitation: Inefficient in highly occluded scenes ! • We’re working on it …

  18. Questions ?

  19. Missing Caustics: Add Caustic Photon Map • Basically just like standard photon mapping [Jensen] • Shoot directly at ‘caustic generators’ • But: too slow for our purpose : (Cost(Query)=10Rays) • Fix query radius to a fixed R • Can be interactively changed by the user … • Store photons in grid with width 2R • Have to touch only 8 voxels for each query ! • Can use hashing to keep reduce storage cost • Fast, but not perfect… • Can afford only few photons(reconstruction cost too high) • Looks bad if R is chosen bad