Download presentation
Presentation is loading. Please wait.
Published byGeorgia Green Modified over 8 years ago
1
Fabianowski · DinglianaInteractive Global Photon Mapping1 / 22 Interactive Global Photon Mapping Bartosz Fabianowski · John Dingliana Trinity College Dublin
2
Fabianowski · DinglianaInteractive Global Photon Mapping2 / 22 Density Estimation ● k th-nearest-neighbor density estimation: – Temporary list of nearby photon hits required – Contribution radii a priori unknownkd- tree + Automatic adaptation of contribution radii ● Local kernel density estimation: + Immediate evaluation of nearby photon hits + Contribution radii precisely known BVH – Automatic adaptation of contribution radii lost
3
Fabianowski · DinglianaInteractive Global Photon Mapping3 / 22 Related Work ● Isotropic footprint per surface: – From number of hits and area [SB97,LP03] – By least squares cross-validation [LP02] ● Isotropic footprint per photon: – From path probabilities [HHK*07] ● Anisotropic footprint per photon: – Photon differentials [SFES07]: – Ray differentials [Ige99] – Path differentials [SW01]
4
Fabianowski · DinglianaInteractive Global Photon Mapping4 / 22 Photon Differentials ● Photon paths parametrized by and : ● Derivatives of position and direction: ● Distances between neighboring photons: – In sample space:, – In the scene:
5
Fabianowski · DinglianaInteractive Global Photon Mapping5 / 22 Photon Footprints
6
Fabianowski · DinglianaInteractive Global Photon Mapping6 / 22 Photon Emission ● Uniform random sampling of, : ● Differentials: ● Distances in sample space:
7
Fabianowski · DinglianaInteractive Global Photon Mapping7 / 22 Photon Propagation ● Transmission, specular reflection: – No additional parameters – Differentials updated by chain rule ● Russian Roulette: – One additional parameter to determine survival – Instead of introducing new differentials: ● Existing differentials scaled by ● Footprint area increased by
8
Fabianowski · DinglianaInteractive Global Photon Mapping8 / 22 Diffuse Photon Reflection (1/3) ● Uniform random sampling of, : ● Differentials: ● Distances in sample space:
9
Fabianowski · DinglianaInteractive Global Photon Mapping9 / 22 Diffuse Photon Reflection (2/3) ● Instead of introducing new differentials: – Treated as absorption and reemission – Parameters now only and ● To preserve current adaptation: – Origin virtually offset backwards – Current footprint area maintained
10
Fabianowski · DinglianaInteractive Global Photon Mapping10 / 22 Diffuse Photon Reflection (3/3) ● Footprint areas:
11
Fabianowski · DinglianaInteractive Global Photon Mapping11 / 22 Photon Footprints ● Contribution radii: – Highly adaptive to local hit density – For diffusely reflected photons: ● Progressively damped adaptation ● More variance at sparse photon hits ● Photon map: – BVH over photon hit ellipsoids
12
Fabianowski · DinglianaInteractive Global Photon Mapping12 / 22 BVH Construction ● Voxel Volume Heuristic [WGS04]: – Recursive minimization of cost metric: – Fast photon hit retrieval – Slow photon map construction
13
Fabianowski · DinglianaInteractive Global Photon Mapping13 / 22 Linear BVH Build (1/2) ● Recursive bin splitting [LGS*09]: – Photon hits binned on their positions – Bins halved, cycling through coordinates – Hierarchical bin order given by Morton curve
14
Fabianowski · DinglianaInteractive Global Photon Mapping14 / 22 Linear BVH Build (2/2) ● Leaf construction: – subdivisions per coordinate ( bins) – Bin index computed for each photon hit – Parallel radix sort into bins ● Inner node construction: – Child nodes merged bottom-up – iterations, constructing nodes in parallel ● Fast photon hit retrieval ● Fast photon map construction
15
Fabianowski · DinglianaInteractive Global Photon Mapping15 / 22 Termination Criterion ● When to stop subdividing depends on: – Scene properties – Illumination conditions ● Termination heuristic: – Stop when number of hits reaches threshold: ● Photon retrieval performance: – Linear build yields of VVH speed – yields of manually tuned speed
16
Fabianowski · DinglianaInteractive Global Photon Mapping16 / 22 CUDA Implementation (1/2) ● CUDA: – Manycore wide SIMD – Hardware multithreading – Uses current Nvidia GPUs ● Ray and photon tracing: – High quality kd-tree over scene surfaces – Stack-based traversal – One thread per photon/ray
17
Fabianowski · DinglianaInteractive Global Photon Mapping17 / 22 CUDA Implementation (2/2) ● Photon map construction: – Parallel scan to find overall bounding box – Parallel calculation of bin indices – Parallel radix sort into leaves – Parallel bottom-up merging ● Photon hit retrieval: – Stack-based traversal – Immediate evaluation of located photon hits
18
Fabianowski · DinglianaInteractive Global Photon Mapping18 / 22 Results (1/3) ● Setup: – One level of specular reflection – Two bounces of indirect lighting – resolution – Nvida GTX280 ● Scenes: – Different sizes and complexities – Diffuse and specular surfaces
19
Fabianowski · DinglianaInteractive Global Photon Mapping19 / 22 Results (2/3)
20
Fabianowski · DinglianaInteractive Global Photon Mapping20 / 22 Results (3/3) ● Photons emitted: ● Photon hits: ● Photon hits/query: ● Frame rate: FPS Sponza Scene 6 Conferenc e Sibenik Wal l Rin g Ring (Epanechnikov) 0.00.10.20.3 s
21
Fabianowski · DinglianaInteractive Global Photon Mapping21 / 22 Conclusions ● Changes made to photon mapping: – Local kernel density estimation – Footprints by photon differentials – BVH photon map ● Manycore implementation in CUDA ● Interactive global specular and diffuse illumination
22
Fabianowski · DinglianaInteractive Global Photon Mapping22 / 22 Interactive Global Photon Mapping Bartosz Fabianowski · John Dingliana Trinity College Dublin
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.