61
R-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

R-LODs: Fast LOD-based Ray Tracing of Massive Models Sung-Eui Yoon Lawrence Livermore National Lab. Christian Lauterbach Dinesh Manocha Univ. of North

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

R-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

2

Goal

● Perform an interactive ray tracing of massive models● Handles various kinds of polygonal

meshes (e.g., scanned data and CAD)

St. Matthew 372M triangles

Double eagle tanker82M triangles Forest model (32M)

3

Recent 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]

4

Hierarchical Acceleration Data Structures

● kd-trees for interactive ray tracing [Wald 04]● Simplicity and efficiency● Used for efficient object culling

kd-nodeAxis-aligned bounding box

5

Ray 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

6

Performance of Ray Tracing with Different Model Complexity

● Measured with 2GB main memory

Memorythrashing!

Render time(log scale)

Model complexity (M tri) - log scale

Working set

size 2GB

7

Low Growth Rate of Data Access Time

Growth rateduring 1993 – 2004

Courtesy: http://www.hcibook.com/e3/online/moores-law/

47X

20X2X

8

Inefficient 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

9

Main 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

10

Performance of Ray Tracing with Different Model Complexity

● Measured with 2GB main memory

Memorythrashing!

Render time(log scale)

Model complexity (M tri) - log scale

Working set

size 2GB

11

Performance of LOD-based Ray Tracing

● Measured with 2GB main memory

Model complexity (M tri) - log scale

Achieved up to three order of magnitude speedup!

Render time(log scale)

Working set size

12

Real-time Captured Video – St. Matthew Model

512 by 512 and 2x2 super-sampling, 4 pixels of LOD error in image space

13

Related Work

● Interactive ray tracing● LOD and out-of-core techniques● LOD-based ray tracing

14

Interactive 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]

15

LOD 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

16

LOD-based Ray Tracing

● Ray differentials [Igehy 99]● Subdivision meshes [Christensen et al.

03, Stoll et al. 06]● Point clouds [Wand and Straβer 03]

Viewpoint

Image plane

Ray beam for one pixel

Footprint sizeof ray

17

Outline

● R-LODs for ray tracing● Results

18

Outline

● R-LODs for ray tracing● Results

19

R-LOD Representation

● Tightly integrated with kd-nodes● A plane, material attributes, and surface

deviation

Plane

Normal

kd-node

Valid extent of the planeIntersection

Nointersection

Rays

20

Properties 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

21

Two Main Design Criteria for LOD Metric

● Controllability of visual errors● Efficiency

● Performed per ray (not per object)● More than tens of million times evaluation

22

Visual Artifacts

● Visibility difference● Illumination difference● Path difference for secondary rays

Surface deviation

Projected areaCurvature difference

View direction

Image plane

Ray with original mesh

Ray with LODs

Original mesh

LODs

23

R-LOD Error Metric

● Consider two factors● Projected screen-space area of a kd-node● Surface deviation

24

Conservative Projection Method

● Measures the screen-space area affected by using an R-LOD

Viewpoint

Image plane

PoE error bound

B {R

dmin

C (B) dmin > R?

LOD metric:

One ray beam

kd-node

25

R-LODs with Different PoE Values

PoE: Original 1.85 5 10

(512x512, no anti-aliasing)

26

LOD 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]

27

C0 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]

Ray

28

Expansion 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)

Ray

29

Impact of Expansions of R-LODs

Original model

Before expansion

After expansion

PoE = 5 at 512 by 512

Hole

30

R-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)

31

Utilizing 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

32

Outline

● R-LODs for ray tracing● Results

33

Implementation

● 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]

34

Preprocessing

● 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

35

Impact of R-LODs

PoE = 0(No LOD) PoE = 2.5

# of intersectednodes per ray

Render time

Working setsize

10X speedup

36

Real-time Captured Video – St. Matthew Model

512 x 512, 2 x 2 anti-aliasing, PoE = 4

37

Pros and Cons

● Limitations● Does not handle advanced materials such

as BRDF● No guarantee there is no holes

● Advantages● Simplicity● Interactivity● Efficiency

38

Conclusion

● 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

39

Ongoing and Future Work

● Investigate an efficient use of implicit surfaces

● Allow approximate visibility ● Extend to global illumination

40

Acknowledgements

● Model contributors● Funding agencies

● Army Research Office● DARPA● Lawrence Livermore National Laboratory● National Science Foundation● Office of Naval Research● RDECOM● Intel● Microsoft

41

Acknowledgements

● Eric Haines● Martin Isenburg● Dawoon Jung● David Kasik● Peter Lindstrom● Matt Pharr● Ingo Wald● Anonymous reviewers

42

Questions?

Thanks!

43

UCRL-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.

44

Additional slides

45

Goal

● Perform an interactive ray tracing of massive models● Handles various kinds of polygonal

meshes (e.g., scanned data and CAD)

St. Matthew372M triangles

Double eagle tanker82M triangles

Isosurface (472M)

46

Memory Hierarchies

Register

Caches

Main memory

Disk storage

Size

1KB

1MB

1GB

> 1GB

Speed

100 ns

101 ns

102ns

104ns

47

Hierarchical R-LOD Computation with Linear Time Complexity

where , are x, y coordinates of kth points

,))((1

n

kxkxkxy yx

kx ky

n

kk

n

kk

n

kk

n

kk

n

kkkxy yx

nyx

nyx

112

111

22

+

48

Performance Comparison – St. Matthew Model

Render time(sec)

Non-LOD

LOD

2 ~ 20X improvements

Approaching the model for every frame

49

LOD (PoE = 4) Non-LOD

Image Quality Comparison – St. Matthew Model

512 x 512, no anti-aliasing

50

Further 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

51

Recent 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!

52

Ray 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

Viewpoint

Image plane

Small triangles

Rays per each pixel

53

Ray Coherence Techniques

● Models with large primitives● Group rays and test intersections

between the group and a bounding box

Viewpoint

Image planeLarge

triangles

Ray beams

54

Ray Coherence Techniques

● Highly tessellated models● Fall back to the normal ray tracing● Causes incoherent memory accesses and

temporal aliasing

Viewpoint

Image planeSmall

triangles

Ray beams

55

Runtime Traversal with R-LODs

● Built on top of the efficient kd-tree traversal algorithm [Wald 04]

: kd-node w/ R-LOD : kd-node w/o R-LOD

Check whether the error is met?

Check whether there is an intersection?

If intersected, return shading info Otherwise, stop traversal

56

Two 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!

57

Surface Deviation

● Combined with the previous projected-space error bound, R

Underlying geometry

Plane of R-LOD

New R

58

Properties 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/o R-LOD

kd-node w/ R-LOD

Simplify

59

Image Quality Comparison – Forest Model (32M Triangles)

PoE = 0 (No LOD) PoE = 4 and cache-oblivious

layout of kd-tree

4 X speedup

Shading difference

60

Image Quality Comparison – Forest Model

PoE = 0 (No LOD) PoE = 16 Shading difference

61

R-LODs with Different PoE Values

PoE: Original 40 80

512x512 image resolution