79
MSBVH: An Efficient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Gr¨ unschloß Martin Stich Sehera Nawaz Alexander Keller August 6, 2011

MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

MSBVH: An Efficient Acceleration DataStructure for Ray Traced Motion Blur

Leonhard Grunschloß Martin StichSehera Nawaz Alexander Keller

August 6, 2011

Page 2: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 3: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 4: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 5: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 6: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 7: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 8: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 9: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 10: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 11: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 12: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 13: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 14: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 15: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 16: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 17: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 18: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 19: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 20: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 21: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 22: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 23: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 24: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Principles of Accelerated Ray Tracing

Hierarchical culling

I object list partitioning ⇒ BVH

I bounded memory, but overlapping bounding volumes

I spatial partitioning ⇒ kd-tree

I nodes do not overlap, but reference duplication

Page 25: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

SBVH

Best of both worlds

I object list partitioning whenever overlap is small

I spatial partitioning otherwise

I use spatial splits to build BVH with reference duplication

How to support motion blur?

Page 26: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

SBVH

Best of both worlds

I object list partitioning whenever overlap is small

I spatial partitioning otherwise

I use spatial splits to build BVH with reference duplication

How to support motion blur?

Page 27: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

SBVH

Best of both worlds

I object list partitioning whenever overlap is small

I spatial partitioning otherwise

I use spatial splits to build BVH with reference duplication

How to support motion blur?

Page 28: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

SBVH

Best of both worlds

I object list partitioning whenever overlap is small

I spatial partitioning otherwise

I use spatial splits to build BVH with reference duplication

How to support motion blur?

Page 29: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

SBVH

Best of both worlds

I object list partitioning whenever overlap is small

I spatial partitioning otherwise

I use spatial splits to build BVH with reference duplication

How to support motion blur?

Page 30: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

SBVH

Best of both worlds

I object list partitioning whenever overlap is small

I spatial partitioning otherwise

I use spatial splits to build BVH with reference duplication

How to support motion blur?

Page 31: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

SBVH

Best of both worlds

I object list partitioning whenever overlap is small

I spatial partitioning otherwise

I use spatial splits to build BVH with reference duplication

How to support motion blur?

Page 32: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

SBVH

Best of both worlds

I object list partitioning whenever overlap is small

I spatial partitioning otherwise

I use spatial splits to build BVH with reference duplication

How to support motion blur?

Page 33: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

SBVH

Best of both worlds

I object list partitioning whenever overlap is small

I spatial partitioning otherwise

I use spatial splits to build BVH with reference duplication

How to support motion blur?

Page 34: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

SBVH

Best of both worlds

I object list partitioning whenever overlap is small

I spatial partitioning otherwise

I use spatial splits to build BVH with reference duplication

How to support motion blur?

Page 35: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Multiple BVHs Sharing Identical Topology

Convex combination of bounding boxes yields conservative BVH

Page 36: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Multiple BVHs Sharing Identical Topology

Convex combination of bounding boxes yields conservative BVH

Page 37: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Multiple BVHs Sharing Identical Topology

Example: linear interpolation at leaf level

t=0.5

I acceptable memory overhead

I allows for very tight bounding boxes for every ray time t

Page 38: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Multiple BVHs Sharing Identical Topology

Example: linear interpolation at leaf level

t=0.5

I acceptable memory overheadI allows for very tight bounding boxes for every ray time t

Page 39: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Multiple BVHs Sharing Identical Topology

Example: linear interpolation at leaf level

t=0

t=1

t=0.5

I acceptable memory overheadI allows for very tight bounding boxes for every ray time t

Page 40: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Multiple BVHs Sharing Identical Topology

Example: linear interpolation at leaf level

t=0

t=1

t=0.5

I acceptable memory overheadI allows for very tight bounding boxes for every ray time t

Page 41: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Multiple BVHs Sharing Identical Topology

Example: linear interpolation at leaf level

t=0

t=1

t=0.5

I acceptable memory overheadI allows for very tight bounding boxes for every ray time t

Page 42: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Multiple BVHs Sharing Identical Topology

Example: linear interpolation at leaf level

t=0.5

I acceptable memory overhead

I allows for very tight bounding boxes for every ray time t

Page 43: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Multiple BVHs Sharing Identical Topology

Example: linear interpolation at leaf level

t=0.5

I acceptable memory overhead

I allows for very tight bounding boxes for every ray time t

Page 44: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Multiple BVHs Sharing Identical Topology

Example: linear interpolation at leaf level

t=0.5

I acceptable memory overhead

I allows for very tight bounding boxes for every ray time t

Page 45: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Interpolation and Spatial Splits

Can a kd-tree be interpolated?

I objects can move across split planesI thus node references change!

I hierarchy over convex hulls is inefficient

I splitting along time-axis requires lots of memory

Page 46: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Interpolation and Spatial Splits

Can a kd-tree be interpolated?

I objects can move across split planesI thus node references change!

I hierarchy over convex hulls is inefficient

I splitting along time-axis requires lots of memory

Page 47: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Interpolation and Spatial Splits

Can a kd-tree be interpolated?

I objects can move across split planesI thus node references change!

I hierarchy over convex hulls is inefficient

I splitting along time-axis requires lots of memory

Page 48: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Interpolation and Spatial Splits

Can a kd-tree be interpolated?

I objects can move across split planesI thus node references change!

I hierarchy over convex hulls is inefficient

I splitting along time-axis requires lots of memory

Page 49: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Our Contribution

Extend the SBVH to handle motion blur (MSBVH)

I by computing multiple bounding volumes per node

I using classic bounding volume interpolation traversal

I which includes spatial splits

I memory-efficient (MSBVH)

I reduced bounding volume overlap (MSBVH)

Note: we assume the hierarchy is rebuilt per frame

Page 50: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Our Contribution

Extend the SBVH to handle motion blur (MSBVH)

I by computing multiple bounding volumes per node

I using classic bounding volume interpolation traversalI which includes spatial splits

I memory-efficient (MSBVH)

I reduced bounding volume overlap (MSBVH)

Note: we assume the hierarchy is rebuilt per frame

Page 51: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Our Contribution

Extend the SBVH to handle motion blur (MSBVH)

I by computing multiple bounding volumes per node

I using classic bounding volume interpolation traversalI which includes spatial splits

I memory-efficient (MSBVH)

I reduced bounding volume overlap (MSBVH)

Note: we assume the hierarchy is rebuilt per frame

Page 52: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Algorithm

t=0 t=1

1. Build the SBVH for t = 0.5 to determine topology

2. Compute partial primitives in leaf nodes

3. Compute corresponding bounds for t = 0 and t = 1

4. Propagate bounds to the parent nodes

5. Interpolate these bounds during traversal

Page 53: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Algorithm

t=0 t=1t=0.5

1. Build the SBVH for t = 0.5 to determine topology

2. Compute partial primitives in leaf nodes

3. Compute corresponding bounds for t = 0 and t = 1

4. Propagate bounds to the parent nodes

5. Interpolate these bounds during traversal

Page 54: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Algorithm

t=0 t=1t=0.5

1. Build the SBVH for t = 0.5 to determine topology

2. Compute partial primitives in leaf nodes

3. Compute corresponding bounds for t = 0 and t = 1

4. Propagate bounds to the parent nodes

5. Interpolate these bounds during traversal

Page 55: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Algorithm

t=0 t=1t=0.5

1. Build the SBVH for t = 0.5 to determine topology

2. Compute partial primitives in leaf nodes

3. Compute corresponding bounds for t = 0 and t = 1

4. Propagate bounds to the parent nodes

5. Interpolate these bounds during traversal

Page 56: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Algorithm

t=0 t=1t=0.5

1. Build the SBVH for t = 0.5 to determine topology

2. Compute partial primitives in leaf nodes

3. Compute corresponding bounds for t = 0 and t = 1

4. Propagate bounds to the parent nodes

5. Interpolate these bounds during traversal

Page 57: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Algorithm

t=0 t=1t=0.5

1. Build the SBVH for t = 0.5 to determine topology

2. Compute partial primitives in leaf nodes

3. Compute corresponding bounds for t = 0 and t = 1

4. Propagate bounds to the parent nodes

5. Interpolate these bounds during traversal

Page 58: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Algorithm

t=0 t=1

1. Build the SBVH for t = 0.5 to determine topology

2. Compute partial primitives in leaf nodes

3. Compute corresponding bounds for t = 0 and t = 1

4. Propagate bounds to the parent nodes

5. Interpolate these bounds during traversal

Page 59: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Algorithm

t=0 t=1

1. Build the SBVH for t = 0.5 to determine topology

2. Compute partial primitives in leaf nodes

3. Compute corresponding bounds for t = 0 and t = 1

4. Propagate bounds to the parent nodes

5. Interpolate these bounds during traversal

Page 60: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Triangles and AABB-Hierarchies under Linear Motion

t=0 t=1t=0.5

1. Use Sutherland-Hodgman to clip against leaf AABB

2. Results in barycentric coordinates of polygon vertices

3. Compute transformed polygon for t = 0 and t = 1

4. Bound the transformed polygon

5. No extra storage necessary

Page 61: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Triangles and AABB-Hierarchies under Linear Motion

t=0 t=1t=0.5

1. Use Sutherland-Hodgman to clip against leaf AABB

2. Results in barycentric coordinates of polygon vertices

3. Compute transformed polygon for t = 0 and t = 1

4. Bound the transformed polygon

5. No extra storage necessary

Page 62: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Triangles and AABB-Hierarchies under Linear Motion

t=0 t=1t=0.5

1. Use Sutherland-Hodgman to clip against leaf AABB

2. Results in barycentric coordinates of polygon vertices

3. Compute transformed polygon for t = 0 and t = 1

4. Bound the transformed polygon

5. No extra storage necessary

Page 63: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Triangles and AABB-Hierarchies under Linear Motion

t=0 t=1t=0.5

1. Use Sutherland-Hodgman to clip against leaf AABB

2. Results in barycentric coordinates of polygon vertices

3. Compute transformed polygon for t = 0 and t = 1

4. Bound the transformed polygon

5. No extra storage necessary

Page 64: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Clipping Displaced Subdivision Surfaces

1. Subdivide along surface parametrization

2. Bound individual elements, e.g. using interval arithmetic

3. Clip resulting bounding boxes

4. The union conservatively bounds the clipped primitive

Page 65: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Clipping Displaced Subdivision Surfaces

1. Subdivide along surface parametrization

2. Bound individual elements, e.g. using interval arithmetic

3. Clip resulting bounding boxes

4. The union conservatively bounds the clipped primitive

Page 66: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Clipping Displaced Subdivision Surfaces

1. Subdivide along surface parametrization

2. Bound individual elements, e.g. using interval arithmetic

3. Clip resulting bounding boxes

4. The union conservatively bounds the clipped primitive

Page 67: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Extensions

I two-level hierarchy: animated instances

I interpolate transformation matrix elements to force linearmotion

I multiple motion segments

I restricted to powers of two for propagation up the hierarchy

I higher-order interpolation

I refitting over multiple frames

Page 68: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Extensions

I two-level hierarchy: animated instances

I interpolate transformation matrix elements to force linearmotion

A(t)

I multiple motion segments

I restricted to powers of two for propagation up the hierarchy

I higher-order interpolation

I refitting over multiple frames

Page 69: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Extensions

I two-level hierarchy: animated instances

I interpolate transformation matrix elements to force linearmotion

A(0)

A(1/3)

A(1)

A(2/3)

I multiple motion segments

I restricted to powers of two for propagation up the hierarchy

I higher-order interpolation

I refitting over multiple frames

Page 70: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Extensions

I two-level hierarchy: animated instances

I interpolate transformation matrix elements to force linearmotion

I multiple motion segments

I restricted to powers of two for propagation up the hierarchy

I higher-order interpolation

I refitting over multiple frames

Page 71: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Extensions

I two-level hierarchy: animated instances

I interpolate transformation matrix elements to force linearmotion

I multiple motion segmentsI restricted to powers of two for propagation up the hierarchy

2 4 2 8

4 88

I higher-order interpolation

I refitting over multiple frames

Page 72: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Extensions

I two-level hierarchy: animated instances

I interpolate transformation matrix elements to force linearmotion

I multiple motion segmentsI restricted to powers of two for propagation up the hierarchy

3 5 2 7

15 14210

I higher-order interpolation

I refitting over multiple frames

Page 73: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Extensions

I two-level hierarchy: animated instances

I interpolate transformation matrix elements to force linearmotion

I multiple motion segmentsI restricted to powers of two for propagation up the hierarchy

I higher-order interpolation

I refitting over multiple frames

Page 74: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Extensions

I two-level hierarchy: animated instances

I interpolate transformation matrix elements to force linearmotion

I multiple motion segmentsI restricted to powers of two for propagation up the hierarchy

I higher-order interpolation

I refitting over multiple frames

Page 75: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Results

BVH traversal with linear interpolation

I reduced SAH cost

I significantly less intersection tests

⇒ Video

I often less traversal steps

I about 20% rendering speed-up for many scenes

Page 76: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Results

BVH traversal with linear interpolation

I reduced SAH cost

I significantly less intersection tests

I often less traversal steps

I about 20% rendering speed-up for many scenes

Page 77: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Summary

In practice, works well for single frames

I helps well whenever SBVH helps

I increased build times (between BVH and kd-tree)

I prototype implemention in OptiX

I spatial splits only avoid overlap for t = 0.5I topology determined for t = 0.5

I problematic for incoherent motion

Page 78: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Summary

In practice, works well for single frames

I helps well whenever SBVH helps

I increased build times (between BVH and kd-tree)

I prototype implemention in OptiX

I spatial splits only avoid overlap for t = 0.5I topology determined for t = 0.5

I problematic for incoherent motion

Page 79: MSBVH: An Efficient Acceleration Data Structure for Ray ......MSBVH: An E cient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grunschloˇ Martin Stich Sehera Nawaz

Weta Digital is hiring!

http://wetafx.co.nz/siggraph2011