Title: Steven F' Ashby Center for Applied Scientific Computing Month DD, 1997
1R-LODs Fast LOD-based Ray Tracing of Massive
Models
Sung-Eui Yoon Lawrence Livermore National
Lab. Christian Lauterbach Dinesh Manocha Univ.
of North Carolina-Chapel Hill
2Goal
- Perform an interactive ray tracing of massive
models - Handles various kinds of polygonal meshes
- (e.g., scanned data and CAD)
Double eagle tanker 82M triangles
St. Matthew 372M triangles
3Recent Advances for Interactive Ray Tracing
- Hardware improvements
- Exponential growth of computation power
- Multi-core architectures
- Algorithmic improvements
- Efficient ray coherence techniques Wald et al.
01, Reshetov et al. 05
4Hierarchical Acceleration Data Structures
- kd-trees for interactive ray tracing Wald 04
- Simplicity and efficiency
- Used for efficient object culling
Axis-aligned bounding box
kd-node
5Ray Tracing of Massive Models
- Logarithmic asymptotic behavior
- Very useful for dealing with massive models
- Due to the hierarchical data structures
- Observed only in in-core cases
6Performance of Ray Tracing with Different Model
Complexity
- Measured with 2GB main memory
Render time (log scale)
Memory thrashing!
Working set size
2GB
Model complexity (M tri) - log scale
7Low Growth Rate of Data Access Time
Growth rate during 1993 2004
47X
20X
2X
Courtesy http//www.hcibook.com/e3/online/moores
-law/
8Inefficient Memory Accesses and Temporal Aliasing
- St. Matthew (256M triangles)
- Around 100M visible triangles
- 1K by 1K image resolution
- 1M primary rays
- Hundreds of triangle per pixel
- Each triangle likely in differentarea of memory
9Main Contributions
- Propose an LOD (level-of-detail)-based ray
tracing of massive models - R-LOD, a novel LOD representation for Ray tracing
- Efficient LOD error metric for primary and
secondary rays - Integrate ray and cache coherent techniques
10Performance of Ray Tracing with Different Model
Complexity
- Measured with 2GB main memory
Render time (log scale)
Memory thrashing!
Working set size
2GB
Model complexity (M tri) - log scale
11Performance of LOD-based Ray Tracing
Achieved up to three order of magnitude speedup!
- Measured with 2GB main memory
Render time (log scale)
Working set size
Model complexity (M tri) - log scale
12Real-time Captured Video St. Matthew Model
512 by 512 and 2x2 super-sampling, 4 pixels of
LOD error in image space
13Related Work
- Interactive ray tracing
- LOD and out-of-core techniques
- LOD-based ray tracing
14Interactive Ray Tracing
- Ray coherences
- Heckbert and Hanrahan 84, Wald et al. 01,
Reshetov et al. 05 - Parallel computing
- Parker et al. 99, DeMarle et al. 04, Dietrich et
al. 05 - Hardware acceleration
- Purcell et al. 02, Schmittler et al. 04, Woop et
al. 05 - Large dataset
- Pharr et al. 97, Wald et al. 04
15LOD and Out-of-Core Techniques
- Widely researched
- LOD book Luebke et al. 02
- Out-core algorithm course Chiang et al. 03
- LOD algorithms combined with out-of-core
techniques - Points clouds Rusinkiewicz and Levoy 00
- Regular meshes Hwa et al. 04, Losasso and Hoppe
04 - General meshes Lindstrom 03, Cignoni et al. 04,
Yoon et al. 04, Gobbetti and Marton 05
Not clear whether LOD techniques for
rasterization is applicable to ray tracing
16LOD-based Ray Tracing
- Ray differentials Igehy 99
- Subdivision meshes Christensen et al. 03, Stoll
et al. 06 - Point clouds Wand and Straßer 03
Image plane
Footprint size of ray
Viewpoint
Ray beam for one pixel
17Outline
- R-LODs for ray tracing
- Results
18Outline
- R-LODs for ray tracing
- Results
19R-LOD Representation
- Tightly integrated with kd-nodes
- A plane, material attributes, and surface
deviation
kd-node
Plane
Valid extent of the plane
20Properties of R-LODs
- Compact and efficient LOD representation
- Add only 4 bytes to (8 bytes) kd-node
- Drastic simplification
- Useful for performance improvement
- Error-controllable LOD rendering
- Error is measured in a screen-space in terms of
pixels-of-error (PoE) - Provides interactive rendering framework
21Two Main Design Criteria for LOD Metric
- Controllability of visual errors
- Efficiency
- Performed per ray (not per object)
- More than tens of million times evaluation
22Visual Artifacts
Surface deviation
- Visibility difference
- Illumination difference
- Path difference for secondary rays
Projected area
Curvature difference
View direction
Original mesh
LODs
Image plane
23R-LOD Error Metric
- Consider two factors
- Projected screen-space area of a kd-node
- Surface deviation
24Conservative Projection Method
- Measures the screen-space area affected by using
an R-LOD
Image plane
R
Viewpoint
kd-node
B
PoE error bound
One ray beam
25R-LODs with Different PoE Values
PoE Original 1.85
5 10
(512x512, no anti-aliasing)
26LOD Metric for Secondary Rays
- Applicable to any linear transformation
- Shadow
- Planar reflection
- Not applicable to non-linear transformation
- Refraction
- Uses more general, but expensive ray
differentials Igehy 99
27C0 Discontinuity between R-LODs
- Possible solutions
- Posing dependencies Lindstrom 03, Hwa et al. 04,
Yoon et al. 04, Cignoni et al. 05 - Implicit surfaces Wald and Seidel 05
28Expansion of R-LODs
- Expansion of the extent of the plane
- Inspired by hole-free point clouds rendering
Kalaiah and Varshney 03 - A function of the surface deviation (20 of the
surface deviation)
29Impact of Expansions of R-LODs
Hole
Before expansion
After expansion
PoE 5 at 512 by 512
Original model
30R-LOD Construction
- Principal component analysis (PCA)
- Compute the covariance matrix for the plane of
R-LODs - Hierarchical PCA computation
- Has linear time complexity
- Accesses the original data only one time with
virtually no memory overhead
Normal
( Eigenvector)
31Utilizing Coherence
- Ray coherence
- Using LOD improve the utilization of SIMD
traversal/intersection - Cache coherence
- Use cache-oblivious layouts of bounding volume
hierarchies Yoon and Manocha 06 - 10 60 performance improvement
32Outline
- R-LODs for ray tracing
- Results
33Implementation
- Uses common optimized kd-tree construction
methods - Based on surface-area heuristic MacDonald and
Booth 90, Havran 00 - Out-of-core computation
- Decompose an input model into a set of clusters
Yoon et al. 04
34Preprocessing
- Simplification computation speed
- Very fast due to its linear complexity
- (3M triangles per min)
- Memory overhead
- Requires 33 more storage over the optimized
kd-tree representation Wald 04 - Runtime overhead
- 5 compared to non-LOD version of the same
efficient ray tracer
35Impact of R-LODs
10X speedup
of intersected nodes per ray
Render time
Working set size
36Real-time Captured Video St. Matthew Model
512 x 512, 2 x 2 anti-aliasing, PoE 4
37Pros and Cons
- Limitations
- Does not handle advanced materials such as BRDF
- No guarantee there is no holes
- Advantages
- Simplicity
- Interactivity
- Efficiency
38Conclusion
- LOD-based ray tracing method
- R-LOD representation
- Efficient LOD error metric
- Hierarchical LOD construction method with a
linear time complexity - Reduce the working set size
39Ongoing and Future Work
- Investigate an efficient use of implicit surfaces
- Allow approximate visibility
- Extend to global illumination
40Acknowledgements
- Model contributors
- Funding agencies
- Army Research Office
- DARPA
- Lawrence Livermore National Laboratory
- National Science Foundation
- Office of Naval Research
- RDECOM
- Intel
- Microsoft
41Acknowledgements
- Eric Haines
- Martin Isenburg
- Dawoon Jung
- David Kasik
- Peter Lindstrom
- Matt Pharr
- Ingo Wald
- Anonymous reviewers
42Questions?
43UCRL-PRES-223086
This work was performed under the auspices of the
U.S. Department of Energy by University of
California Lawrence Livermore National Laboratory
under contract No. W-7405-ENG-48.
44Additional slides
45Goal
- Perform an interactive ray tracing of massive
models - Handles various kinds of polygonal meshes
- (e.g., scanned data and CAD)
46Memory Hierarchies
47Hierarchical R-LOD Computation with Linear Time
Complexity
where , are x, y coordinates of kth
points
48Performance Comparison St. Matthew Model
2 20X improvements
Non-LOD
Render time (sec)
LOD
Approaching the model for every frame
49Image Quality Comparison St. Matthew Model
512 x 512, no anti-aliasing
LOD (PoE 4) Non-LOD
50Further Information
- R-LODs Fast LOD-based Ray Tracing of Massive
Models - S. Yoon, C. Lauterbach, and D. Manocha
- (To appear at) Pacific graphics (The Visual
Computer) 2006
51Recent Advances for Interactive Ray Tracing
- Hardware improvements
- Exponential growth of computation power
- Multi-core architectures
- Algorithmic improvements
- Efficient ray coherence techniques Wald et al.
01, Reshetov et al. 05
These improvements may not provide an efficient
solution to our problem!
52Ray Coherence Techniques
- Assume coherences between spatially coherent rays
- Works well with CAD or architectural models
- Highly-tessellated models
- There may not be much coherence between rays
53Ray Coherence Techniques
- Models with large primitives
- Group rays and test intersections between the
group and a bounding box
Large triangles
Image plane
Viewpoint
Ray beams
54Ray Coherence Techniques
- Highly tessellated models
- Fall back to the normal ray tracing
- Causes incoherent memory accesses and temporal
aliasing
Small triangles
Image plane
Viewpoint
Ray beams
55Runtime Traversal with R-LODs
- Built on top of the efficient kd-tree traversal
algorithm Wald 04
Check whether the error is met?
Check whether there is an intersection?
kd-node w/ R-LOD
kd-node w/o R-LOD
56Two Main Design Criteria for LOD Metric
- Controllability of visual errors
- Efficiency
- Model complexity 100M (at least 27 deep kd-tree)
- Image resolution 1k by 1K ( 1M rays)
- 27M ( 1M x 27) times of LOD metric evaluation!
57Surface Deviation
- Combined with the previous projected-space error
bound, R
Plane of R-LOD
Underlying geometry
58Properties of R-LODs
- Compact and efficient LOD representation
- Add only 4 bytes to (8 bytes) kd-node
- Drastic simplification
- Useful for performance improvement
- Recursively simplify 23 triangles into one R-LOD
kd-node w/ R-LOD
kd-node w/o R-LOD
59Image Quality Comparison Forest Model (32M
Triangles)
4 X speedup
PoE 0 (No LOD)
PoE 4 and cache-oblivious layout of kd-tree
Shading difference
60Image Quality Comparison Forest Model
PoE 0 (No LOD)
PoE 16
Shading difference
61R-LODs with Different PoE Values
PoE Original 40
80
512x512 image resolution