Single Scattering in Refractive Media with Triangle Mesh Boundaries
description
Transcript of Single Scattering in Refractive Media with Triangle Mesh Boundaries
![Page 1: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/1.jpg)
1
Single Scattering in Refractive Media with
Triangle Mesh Boundaries
Bruce WalterShuang ZhaoNicolas HolzschuchKavita Bala
Cornell Univ.Cornell Univ.Grenoble Univ.Cornell Univ.
Presented at SIGGRAPH 2009
![Page 2: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/2.jpg)
2
Single Scattering • Direct illumination in refractive objects is hard
Single scatter from a single point light source
![Page 3: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/3.jpg)
3
QuickTime™ and a decompressor
are needed to see this picture.
Single Scattering
Single scatter from a single point light source
![Page 4: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/4.jpg)
4
QuickTime™ and a decompressor
are needed to see this picture.
Single Scattering
Single scatter from a single point light source
![Page 5: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/5.jpg)
5
Eye ray
Problem
![Page 6: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/6.jpg)
6
L
VEye ray
Problem
![Page 7: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/7.jpg)
7
Ignoring refraction
P
L
VEye ray
Problem
![Page 8: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/8.jpg)
8
P
L
VEye ray
Challenges: Bending of Path
Ignoring refraction With refraction
L
V
P1
Eye ray
![Page 9: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/9.jpg)
9
P
L
VEye ray
Challenges: Multiple Paths
Ignoring refraction With refraction
L
V
P1
P2Eye ray
![Page 10: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/10.jpg)
10
Is it important?• Glass tile quality comparison
Our methodShadow rays ignore refraction
![Page 11: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/11.jpg)
11
Challenges Summary• Bending of paths• Multiple paths• Shading normals• Large triangle meshes
![Page 12: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/12.jpg)
12
Challenges: Shading Normals
Shading normals
NG
NG
Geometric normals
NS
NS
NS
![Page 13: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/13.jpg)
13
Challenges: Shading Normals
Shading normals
NG
NG
Geometric normals
NS
NS
NS
![Page 14: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/14.jpg)
14
Limitations• Finds connections that
–Cross the boundary exactly once–Have no other changes in direction–Cost depends on path count and boundary
L
V
No
L
V
No
L
V
Yes
![Page 15: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/15.jpg)
15
Prior Work• Diffusion and multiple scatter
– [eg, Stam 95, Jensen et al. 01, Wang et al. 08]
• Monte Carlo– [eg, Kajiya 86, Veach 97]
• Beam tracing– [eg, Nishita & Nakamae 94, Iwasaki et al. 03, Ernst et al. 05]
• Photon mapping– [eg, Jensen 01, Sun et al. 08, Jarosz et al. 08]
• Fermat’s principle– [eg, Mitchell & Hanrahan 92, Chen & Arvo 00]
![Page 16: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/16.jpg)
16
Prior Work• Mitchell & Hanrahan 92
–Used Fermat’s principle and Newton’s method–Reflection (shown) and refraction
• Limitations–Only supported implicit surfaces–Cannot handle shading normals–Expensive 3D search–Not scalable to complex geometry Mitchell & Hanrahan 92
![Page 17: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/17.jpg)
17
Contributions• Support triangles with shading normals
–Most widely used geometry format–Required fundamental problem reformulation–New search methods and intensity equations
• Hierarchical culling–Scales to complex objects with many triangles
• CPU and GPU implementations–Interactive performance on some scenes
![Page 18: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/18.jpg)
18
Outline• Half-vector formulation• Solving for a single triangle• Hierarchical culling for meshes• Results
![Page 19: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/19.jpg)
19
Fermat’s Principle
Index of refraction = η
L
V
P
![Page 20: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/20.jpg)
20
Half-Vector Formulation
L
V
PωL
ωV
![Page 21: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/21.jpg)
21
Half-Vector Formulation
L
V
PωL
ωV
ωL
η ωVH
H
![Page 22: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/22.jpg)
22
Half-Vector Formulation
L
V
P
H
N
![Page 23: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/23.jpg)
23
Half-Vector Formulation
L
V
P
H
N
![Page 24: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/24.jpg)
24
Newton’s Method Review
x0
x1
x2
f(x)
0
![Page 25: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/25.jpg)
25
Outline• Half-vector formulation• Solving for a single triangle
–Geometric normal - 1D Newton–Shading normals - 2D Newton–Subdivision oracles
• Hierarchical culling for meshes• Results
![Page 26: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/26.jpg)
26
Triangle Without Shading Normals
L
VH
PNG
![Page 27: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/27.jpg)
27
Triangle Without Shading Normals
L
VH
PNG
![Page 28: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/28.jpg)
Triangle with Shading Normal• Shading normal, NS, varies over triangle
–Full 2D search over triangle’s area
• Function f(P) = H + NS maps 2D to 3D–Derivative is 2X3 Jacobian matrix is non-invertible–Use pseudoinverse for Newton’s method:
![Page 29: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/29.jpg)
29
Triangle with Shading Normal• Need good starting points• May have zero, one, or multiple solutions
–Subdivide triangle as needed to isolate solutions
![Page 30: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/30.jpg)
30
Two Triangle Subdivision Oracles• Test with strong guarantees
–Based on [Krawczyk 69], [Mitchell&Hanrahan 92]–Conditions guarantee uniqueness and convergence
• Fast empirical heuristic–Based on solid angles of triangle and normals
![Page 31: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/31.jpg)
31
Triangle summary• For each triangle:
–If no shading normals• Solve for P with 1D Newton
–Else if passes the subdivision oracle• Solve for P with 2D Newton
–Else• Subdivide into 4 triangles and try again
–Test if P lies within the triangle
![Page 32: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/32.jpg)
32
Outline• Half-vector formulation• Solving for a single triangle• Hierarchical culling for meshes• Results
![Page 33: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/33.jpg)
33
Culling Tests
![Page 34: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/34.jpg)
34
Spindle Culling Test
L
V
arccosη
P
![Page 35: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/35.jpg)
35
Spindle Culling Test
L
V
arccosη
P
![Page 36: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/36.jpg)
36
Spindle Culling Test
L
V
arccosη
P
![Page 37: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/37.jpg)
37
Sidedness Culling Test
N
L
V
arccosη
![Page 38: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/38.jpg)
38
Hierarchical Culling for Meshes
Position-normal tree
![Page 39: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/39.jpg)
39
Algorithm Summary• Build position-normal tree for each boundary mesh• For each eye ray
–Trace until hits surface or volume-scatters at V –Select a light source point, L–Traverse tree to solve for all P on boundary–For each solution point P
• Check for occlusion along path• Compute effective light distance• Add contribution to pixel value
L
V
P1
P2
Eye ray
![Page 40: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/40.jpg)
40
Effective Distance to Source• Refraction alters usual 1 / r2 intensity falloff
–Can focus or defocus the light
• Compute effective light distance for each path–Simple formula for triangles without shading normal–Use ray differentials [Igehy 99] for shading normal case–See paper for details
![Page 41: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/41.jpg)
41
Outline• Half-vector formulation• Solving for a single triangle• Hierarchical culling for meshes• Results
![Page 42: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/42.jpg)
42
Results - CPU• Three scenes without shading normals
Teapot AmberCuboctahedron
![Page 43: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/43.jpg)
43
Results - CPU• Three scenes without shading normals
512x512 images, 64 samples per pixel, 8-core 2.83GHz Intel Core2
Teapot15.3s
Amber19.2s
Cuboctahedron13.9s
![Page 44: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/44.jpg)
44
Results - Teapot• Teapot quality comparison
Our method (15.4s)Shadow rays ignore refraction
![Page 45: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/45.jpg)
45
Results - Teapot• Teapot quality comparison
Shadow rays ignore refraction Our method (15.4s)
![Page 46: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/46.jpg)
46
Results - Cuboctahedron• Cuboctahedron
movie (13.9s)
QuickTime™ and a decompressor
are needed to see this picture.
![Page 47: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/47.jpg)
47
Results - GPU• Implemented on GPU using CUDA 2.0
–1D, 2D Newton iteration–Hierarchical pruning–Ray tracing based on [Popov et al. 2007]–One kernel thread per eye ray–Does not yet support all scenes
![Page 48: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/48.jpg)
48
Results - GPU
Name RenderTime FPS
Teapot 0.1 s 10 fpsCuboctahedr
on 0.14 s 7 fps
Amber 0.3 s 3 fps
512x512 images, 2 eye rays per pixel + 40-60 volume samples,nVIDIA GTX 280, CUDA 2.0
![Page 49: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/49.jpg)
49
Results - GPU• Teapot example
–10 fps on GPU
QuickTime™ and a decompressor
are needed to see this picture.
![Page 50: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/50.jpg)
50
Results - CPU• Three scenes with shading normals
Glass tile PoolGlass mosaic
![Page 51: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/51.jpg)
51
Results - CPU• Three scenes with shading normals
512x512 images, 64 samples per pixel, 8-core 2.83GHz Intel Core2
Glass tile66.9s
Pool59.4s
Glass mosaic87.8s
![Page 52: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/52.jpg)
52
Results - Glass Tile
Our method (66.9s)Photon map (equal time)
![Page 53: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/53.jpg)
53
Results - Glass Mosaic• Glass mosaic
movie (87.8s)
QuickTime™ and a decompressor
are needed to see this picture.
![Page 54: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/54.jpg)
54
Results - Component Evaluation• Evaluation of algorithm components
–Pool (2632 triangles in boundary)
Time RatioWithout
Hierarchy1934.6
s 32x
GuaranteedConvergen
ce141.1s 2.4x
SubdivisionHeuristic 59.4s 1x
![Page 55: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/55.jpg)
55
Results - Bumpy sphere• Bumpy sphere (9680 triangles)
–Volume sampling noise• Used 128 samples per pixel• Effective distance clamping
Our method 304.3 s
![Page 56: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/56.jpg)
56
Results - Bumpy sphere• Bumpy sphere (9680 triangles)
Our methodShadow rays ignore refraction
![Page 57: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/57.jpg)
57
Results - Bumpy sphere• Bumpy sphere (9680 triangles)
Our methodPath tracing(16x time)
![Page 58: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/58.jpg)
58
Results - Bumpy sphere• Bumpy sphere (9680 triangles)
Our methodPhoton map 10M (equal time)
![Page 59: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/59.jpg)
59
Conclusion• New method for single scatter in refractive media
–Applicable to many rendering algorithms–New half-vector formulation–Efficient culling and search methods–Supports shading normals and large triangle meshes–Interactive performance for some scenes
• Future work–Better culling –Reflections and low-order scattering–Multiple interfaces
![Page 60: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/60.jpg)
60
Acknowledgements• Sponsors
–NSF• Career 0644175, CPA 0811680, CNS 0615240, CNS 0403340
–Intel–NVidia–Microsoft–INRIA sabbatical program
• PCG Graphics Lab and Elizabeth Popolo
![Page 61: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/61.jpg)
61
The End
![Page 62: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/62.jpg)
62
Results - CPU timings
Name RenderTime
Triangles ShadingNormalsSurface Other
Teapot 15.3 s 12 4096 NoCuboctahedr
on 13.9 s 20 0 No
Amber 19.2 s 36 60556 NoGlass tile 66.9 s 798 60 Yes
Glass mosaic 87.8 s 20813 1450 Yes
Pool 59.4 s 2632 4324 YesBumpy Sphere 304.3 s 9680 0 Yes
512x512 images, 64 samples per pixel (128 for bumpy sphere),8-core 2.83GHz Intel Core2 CPU
![Page 63: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/63.jpg)
63
x0
Newton’s Method
f(x)
0
![Page 64: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/64.jpg)
64
x0
Newton’s Method
x1
f(x)
0
![Page 65: Single Scattering in Refractive Media with Triangle Mesh Boundaries](https://reader033.fdocuments.in/reader033/viewer/2022051402/56815a14550346895dc75ee6/html5/thumbnails/65.jpg)
65
x0
Newton’s Method
x1
x2
f(x)
0