B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes

Size: px
Start display at page:

Download "B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes"

Transcription

1 B-KD rees for Hardware Accelerated Ray racing of Dynamic Scenes Sven Woop Gerd Marmitt Philipp Slusallek Saarland University, Germany Outline Previous Work B-KD ree as new Spatial Index Structure DynR Architecture raveral Processing Update Prototype Implementation Live Demo Conclusion 1

2 Previous Work Ray racers for Static Scenes CPU based: [OpenR], [MLR SIGGRAPH05] GPU based: Purcell (Grids) [SIGGRAPH02], Foley et al. (KD rees) [GH05] Custom Hardware: Commercial Hardware (AR-VPS) Schmittler (KD rees) [GH04] RPU (KD rees) [SIGGRAPH05] Ray racers for Dynamic Scenes CPU based: Wald (Grids) [SIGGRAPH06] Wald (AABVHs) [OG / ech. Rep. 2006] Custom Hardware: Woop (B-KD rees) [GH06] Definition of B-KD rees B-KD ree (Bounded KD-ree) Binary ree 1D bounding intervalls for each child Leaf nodes point to a single primitive split axis 2

3 B-KD ree Subdivision Bounding Volume Hierarchy (partially unbounded) Each node can be associated with a full bounding box Bounds may overlap Primitives in single leaf nodes More traversal steps as for KD ree Support for dynamic scenes B-KD ree Subdivision Bounding Volume Hierarchy (partially unbounded) Each node can be associated with a full bounding box Bounds may overlap Primitives in single leaf nodes More traversal steps as for KD ree Support for dynamic scenes

4 B-KD ree Subdivision Bounding Volume Hierarchy (partially unbounded) Each node can be associated with a full bounding box Bounds may overlap Primitives in single leaf nodes More traversal steps as for KD ree Support for dynamic scenes B-KD ree Subdivision Bounding Volume Hierarchy (partially unbounded) Each node can be associated with a full bounding box Bounds may overlap Primitives in single leaf nodes More traversal steps as for KD ree Support for dynamic scenes

5 B-KD ree Subdivision Bounding Volume Hierarchy (partially unbounded) Each node can be associated with a full bounding box Bounds may overlap Primitives in single leaf nodes More traversal steps as for KD ree Support for dynamic scenes B-KD ree Construction If #primitives > 1 then 5

6 B-KD ree Construction If #primitives > 1 then Compute center of mass B-KD ree Construction If #primitives > 1 then Compute center of mass Spatial Median Object Median 6

7 B-KD ree Construction If #primitives > 1 then Compute center of mass Spatial Median Object Median B-KD ree Construction If #primitives > 1 then Compute center of mass Sort geometry along all three dimensions 7

8 B-KD ree Construction If #primitives > 1 then Compute center of mass Sort geometry along all three dimensions Partitionings can be determined by splitting a list at a position B-KD ree Construction If #primitives > 1 then Compute center of mass Sort geometry along all three dimensions Partitionings can be determined by splitting a list at a position Build all possible partitionings in all three dimensions 8

9 B-KD ree Construction If #primitives > 1 then Compute center of mass Sort geometry along all three dimensions Partitionings can be determined by splitting a list at a position Build all possible partitionings in all three dimensions Find the partitioning with smallest SAH cost B-KD ree Construction If #primitives > 1 then Compute center of mass Sort geometry along all three dimensions Partitionings can be determined by splitting a list at a position Build all possible partitionings in all three dimensions Find the partitioning with smallest SAH cost Create node and recurse 9

10 B-KD ree Construction If #primitives > 1 then Compute center of mass Sort geometry along all three dimensions Partitionings can be determined by splitting a list at a position Build all possible partitionings in all three dimensions Find the partitioning with smallest SAH cost Create node and recurse Else if #primitives = 1 then Create leaf node B-KD ree Construction Rendering Performance 20% to 100% better than center splitting approaches wo-level B-KD rees op-level B-KD tree over object instances Bottom-level B-KD tree for each object 10

11 B-KD rees for Dynamic Scenes On changed object geometry B-KD tree bounds are updated bottom up B-KD tree structure remains constant Linear updating complexity Examples Bounding approaches perform well for Continous motion Structure of motion must match tree structure E.g. skinned meshes, characters, water surfaces,... 11

12 Examples Bounding approaches perform well for Continous motion Structure of motion must match tree structure E.g. skinned meshes, characters, water surfaces,... Examples Bounding approaches perform well for Continous motion Structure of motion must match tree structure E.g. skinned meshes, characters, water surfaces,... 12

13 Examples Bounding approaches perform well for Continous motion Structure of motion must match tree structure E.g. skinned meshes, characters, water surfaces,... Examples Bounding approaches perform well for Continous motion Structure of motion must match tree structure E.g. skinned meshes, characters, water surfaces,... 13

14 Examples Bounding approaches perform well for Continous motion Structure of motion must match tree structure E.g. skinned meshes, characters, water surfaces,... Examples Bounding volume approaches are less efficient for Non-continous motion Structure of motion does not match tree structure High traversal cost due to large overlapping boxes 14

15 Examples Bounding volume approaches fail for Non-continous motion Structure of motion does not match tree structure High traversal cost due to large overlapping boxes Examples Bounding volume approaches fail for Non-continous motion Structure of motion does not match tree structure High traversal cost due to large overlapping boxes 15

16 Examples Bounding volume approaches fail for Non-continous motion Structure of motion does not match tree structure High traversal cost due to large overlapping boxes Examples Bounding volume approaches fail for Non-continous motion Structure of motion does not match tree structure High traversal cost due to large overlapping boxes 16

17 Comparison for Gael Scene Index type Index size # trav-cost # tri-ints KD 1.4 MB B-KD 1.1 MB AABVH 2.2 MB k triangles KD tree B-KD tree AABVH DynR Architecture Extension of RPU approach to framebuffer Shader Cache Shading Node Cache raversal Processing Vertex Cache Geometry instructions Skinning vertices to instructions Update nodes to vertices 17

18 DynR Architecture to framebuffer Rendering s Highly multi-threaded Shader Cache Shading Higher hardware usage Synchronous execution of packets of 4 rays Node Cache raversal Processing Memory bandwidth reduction First level caches Vertex Cache Geometry Memory bandwidth reduction instructions Skinning vertices to instructions Update nodes to vertices DynR Architecture to framebuffer Programmable Shading Similar to RPU shading processor Shader Cache Shading Ray generation tasks Material shading Calls Ray Casting s to cast rays Node Cache Vertex Cache raversal Processing Geometry instructions Skinning vertices to instructions Update nodes to vertices 18

19 DynR Architecture to framebuffer Programmable Shading Ray Casting s Shader Cache Shading Node Cache raversal Processing Vertex Cache Geometry instructions Skinning vertices to instructions Update nodes to vertices DynR Architecture to framebuffer Programmable Shading Ray Casting s Shader Cache Shading raversal Processing Efficient traversal of B-KD trees wo level B-KD trees supported Node Cache raversal Processing Vertex Cache Geometry instructions Skinning vertices to instructions Update nodes to vertices 19

20 DynR Architecture to framebuffer Programmable Shading Ray Casting s Shader Cache Shading raversal Processing Efficient traversal of B-KD trees wo level B-KD trees supported Node Cache raversal Processing Geometry Ray transformations Vertex Cache Geometry Vertex-based ray/triangle intersection [Möller rumbore] instructions Skinning vertices to Shared vertices save 6x instructions Update nodes to vertices DynR Architecture to framebuffer Programmable Shading Ray Casting s Shader Cache Shading Scene Changes Skinning (see paper) Node Cache raversal Processing Skeleton Subspace Deformation Re-uses Geometry Pure stream architecture Vertex Cache Geometry instructions Skinning vertices to instructions Update nodes to vertices 20

21 DynR Architecture to framebuffer Programmable Shading Ray Casting s Scene Changes Shader Cache Shading Skinning (see paper) Skeleton Subspace Deformation Node Cache raversal Processing Re-uses Geometry Pure stream architecture Vertex Cache Geometry Update Stream-like architecture instructions Skinning vertices to Partial breadth-first execution One B-KD node update per clock cycle peak instructions Update nodes to vertices to framebuffer Shader Cache Shading Node Cache raversal Processing Vertex Cache Geometry instructions Skinning vertices to instructions Update nodes to vertices 21

22 raversal of B-KD rees raversal of B-KD rees Early ray termination Clipping of near/far interval against both bounding intervalls ake closer child, push farther child to stack raversal order does not affect correctness Complexity 4x computational cost of KD tree traversal step 2x stack R near far I 1 I farther child closer child raversal Processing Stack control computes next address start traversal finished if stack empty Stack Control Node Cache Memory Access Slice 0 Slice 1 Slice 2 Slice 3 Decide0 Decide1 Decide2 Decide3 Packet Decision to Geometry 22

23 raversal Processing Stack control computes next address Next node is fetched cache finished if stack empty Stack Control start traversal Node Cache Memory Access Slice 0 Slice 1 Slice 2 Slice 3 Decide0 Decide1 Decide2 Decide3 Packet Decision to Geometry raversal Processing Stack control computes next address start traversal Next node is fetched cache 4 traversal slices compute 4x4 distances to bounding planes finished if stack empty Node Cache Stack Control Memory Access Slice 0 Slice 1 Slice 2 Slice 3 Decide0 Decide1 Decide2 Decide3 Packet Decision to Geometry 23

24 raversal Processing Stack control computes next address start traversal Next node is fetched cache 4 traversal slices compute 4x4 distances to bounding planes 4 Decision s compute per ray traversal decision finished if stack empty Node Cache Stack Control Memory Access Slice 0 Slice 1 Slice 2 Slice 3 Decide0 Decide1 Decide2 Decide3 Packet Decision to Geometry raversal Processing Stack control computes next address start traversal Next node is fetched cache 4 traversal slices compute 4x4 distances to bounding planes 4 Decision s compute per ray traversal decision finished if stack empty Node Cache Stack Control Memory Access Packet Decision computes packet traversal decision Slice 0 Slice 1 Slice 2 Slice 3 Packet goes left if exists a that ray goes left Packet goes right if exists a ray that goes right Packet goes left to right if exists a ray that goes into both children left to right Decide0 Decide1 Decide2 Decide3 Packet Decision to Geometry 24

25 raversal Processing Stack control computes next address start traversal Next node is fetched cache 4 traversal slices compute 4x4 distances to bounding planes 4 Decision s compute per ray traversal decision finished if stack empty Node Cache Stack Control Memory Access Packet Decision computes packet traversal decision Slice 0 Slice 1 Slice 2 Slice 3 Packet goes left if exists a that ray goes left Packet goes right if exists a ray that goes right Packet goes left to right if exists a ray that goes into both children left to right Incoherent packets possible Decide0 Decide1 Decide2 Decide3 Packet Decision to Geometry to framebuffer Shader Cache Shading Node Cache raversal Processing Vertex Cache Geometry instructions Skinning vertices to instructions Update nodes to vertices 25

26 Update of B-KD rees Leaf Node y x leaf leaf leaf Update of B-KD rees Leaf Node y vertices x leaf leaf leaf 26

27 Update of B-KD rees Leaf Node y vertices Compute leaf boxes x leaf leaf leaf Update of B-KD rees Leaf Node y vertices Compute leaf boxes Inner Node Update 1D node bounds x leaf leaf leaf 27

28 Update of B-KD rees Leaf Node y vertices Compute leaf boxes Inner Node Update 1D node bounds Merge boxes of both children x leaf leaf leaf Update of B-KD rees Leaf Node y vertices Compute leaf boxes Inner Node Update 1D node bounds Merge boxes of both children x leaf leaf leaf 28

29 Update of B-KD rees Leaf Node y vertices Compute leaf boxes Inner Node x Update 1D node bounds Merge boxes of both children leaf leaf leaf Update ¼ more for instructions Optimized Set Load vertex 4x32 Bit Merge 3 vertices to a box Merge 2 boxes (plus update node) 64 Vertex and 64 Box Registers Optimal re-use of data Stream Based Reads one instruction stream Writes a sequential node stream Vertices are accessed as sequential as possible fetched vertex vertex address vertex destination Vertex Vertex writeback Register Access Read 2 Boxes Read 3 Vertices Merge unit Merge Boxes Merge Vertices merged box Scheduler Box Writeback instruction child bounds Node Update nodes to 29

30 Update ¼ more for instructions Optimized Set Load vertex 4x32 Bit Merge 3 vertices to a box Merge 2 boxes (plus update node) 64 Vertex and 64 Box Registers Optimal re-use of data Stream Based Reads one instruction stream Writes a sequential node stream Vertices are accessed as sequential as possible fetched vertex vertex address vertex destination Vertex Vertex writeback Register Access Read 2 Boxes Read 3 Vertices Merge unit Merge Boxes Merge Vertices merged box Scheduler Box Writeback instruction child bounds Node Update nodes to Update ¼ more for instructions Optimized Set Load vertex 4x32 Bit Merge 3 vertices to a box Merge 2 boxes (plus update node) 64 Vertex and 64 Box Registers Optimal re-use of data Stream Based Reads one instruction stream Writes a sequential node stream Vertices are accessed as sequential as possible fetched vertex vertex address vertex destination Vertex Vertex writeback Register Access Read 2 Boxes Read 3 Vertices Merge unit Merge Boxes Merge Vertices merged box Scheduler Box Writeback instruction child bounds Node Update nodes to 30

31 Update ¼ more for instructions Optimized Set Load vertex 4x32 Bit Merge 3 vertices to a box Merge 2 boxes (plus update node) 64 Vertex and 64 Box Registers Optimal re-use of data Stream Based Reads one instruction stream Writes a sequential node stream Vertices are accessed as sequential as possible fetched vertex vertex address vertex destination Vertex Vertex writeback Register Access Read 2 Boxes Read 3 Vertices Merge unit Merge Boxes Merge Vertices merged box Scheduler Box Writeback instruction child bounds Node Update nodes to Update ¼ more for instructions Optimized Set Load vertex 4x32 Bit Merge 3 vertices to a box Merge 2 boxes (plus update node) 64 Vertex and 64 Box Registers Optimal re-use of data Stream Based Reads one instruction stream Writes a sequential node stream Vertices are accessed as sequential as possible fetched vertex vertex address vertex destination Vertex Vertex writeback Register Access Read 2 Boxes Read 3 Vertices Merge unit Merge Boxes Merge Vertices merged box Scheduler Box Writeback instruction child bounds Node Update nodes to 31

32 Update ¼ more for instructions Optimized Set Load vertex 4x32 Bit Merge 3 vertices to a box Merge 2 boxes (plus update node) 64 Vertex and 64 Box Registers Optimal re-use of data Stream Based Reads one instruction stream Writes a sequential node stream Vertices are accessed as sequential as possible fetched vertex vertex address vertex destination Vertex Vertex writeback Register Access Read 2 Boxes Read 3 Vertices Merge unit Merge Boxes Merge Vertices merged box Scheduler Box Writeback instruction child bounds Node Update nodes to Update ¼ more for instructions Optimized Set Load vertex 4x32 Bit Merge 3 vertices to a box Merge 2 boxes (plus update node) 64 Vertex and 64 Box Registers Optimal re-use of data Stream Based Reads one instruction stream Writes a sequential node stream Vertices are accessed as sequential as possible fetched vertex vertex address vertex destination Vertex Vertex writeback Register Access Read 2 Boxes Read 3 Vertices Merge unit Merge Boxes Merge Vertices merged box Scheduler Box Writeback instruction child bounds Node Update nodes to 32

33 Update ¼ more for instructions Optimized Set Load vertex 4x32 Bit Merge 3 vertices to a box Merge 2 boxes (plus update node) 64 Vertex and 64 Box Registers Optimal re-use of data Stream Based Reads one instruction stream Writes a sequential node stream Vertices are accessed as sequential as possible fetched vertex vertex address vertex destination Vertex Vertex writeback Register Access Read 2 Boxes Read 3 Vertices Merge unit Merge Boxes Merge Vertices merged box Scheduler Box Writeback instruction child bounds Node Update nodes to Update ¼ more for instructions Optimized Set Load vertex 4x32 Bit Merge 3 vertices to a box Merge 2 boxes (plus update node) 64 Vertex and 64 Box Registers Optimal re-use of data Stream Based Reads one instruction stream Writes a sequential node stream Vertices are accessed as sequential as possible fetched vertex vertex address vertex destination Vertex Vertex writeback Register Access Read 2 Boxes Read 3 Vertices Merge unit Merge Boxes Merge Vertices merged box Scheduler Box Writeback instruction child bounds Node Update nodes to 33

34 Update ¼ more for instructions Optimized Set Load vertex 4x32 Bit Merge 3 vertices to a box Merge 2 boxes (plus update node) 64 Vertex and 64 Box Registers Optimal re-use of data Stream Based Reads one instruction stream Writes a sequential node stream Vertices are accessed as sequential as possible fetched vertex vertex address vertex destination Vertex Vertex writeback Register Access Read 2 Boxes Read 3 Vertices Merge unit Merge Boxes Merge Vertices merged box Scheduler Box Writeback instruction child bounds Node Update nodes to Prototype Implementation Hardware FPGA board Alpha Data Xilinx Virtex4 LX MB DDR Memory Implementation Packets of 4 rays 32 packets of rays 24 bit floating point Virtex4 Board 66 MHz 34

35 Results Update Performance 66 million B-KD tree node updates 200 updates per second for characters with 80k triangles 1 to 15.0 % of rendering time Ray Casting Performance 2 to 8 million rays per second 10 to 40 fps at 512x386 Conclusions and Future Work Ray racing Hardware Design Efficient for coherent dynamic scenes Less efficient for non-continous scene changes Working Prototype Implementation Even FPGA achieves high performance 2x - 3x OpenR on Pentium 4 2,6 GHz Post layout ASIC Results [R06] 90nm, 400 MHz, 200mm^2, 19.5 GB/s Performs up to 40x faster ( fps at 1024x768) 35

36 Live Demo Questions? Project Homepage: Computer Graphics Lab at Saarland University: 36

Part IV. Review of hardware-trends for real-time ray tracing

Part IV. Review of hardware-trends for real-time ray tracing Part IV Review of hardware-trends for real-time ray tracing Hardware Trends For Real-time Ray Tracing Philipp Slusallek Saarland University, Germany Large Model Visualization at Boeing CATIA Model of Boeing

More information

Massive Model Visualization using Real-time Ray Tracing

Massive Model Visualization using Real-time Ray Tracing Massive Model Visualization using Real-time Ray Tracing Eurographics 2006 Tutorial: Real-time Interactive Massive Model Visualization Andreas Dietrich Philipp Slusallek Saarland University & intrace GmbH

More information

Acceleration Data Structures

Acceleration Data Structures CT4510: Computer Graphics Acceleration Data Structures BOCHANG MOON Ray Tracing Procedure for Ray Tracing: For each pixel Generate a primary ray (with depth 0) While (depth < d) { Find the closest intersection

More information

Estimating Performance of a Ray-Tracing ASIC Design

Estimating Performance of a Ray-Tracing ASIC Design Estimating Performance of a Ray-Tracing ASIC Design Sven Woop Saarland University Erik Brunvand University of Utah Philipp Slusallek Saarland University Figure 1: Test scenes used to evaluate the DRPU

More information

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016

Ray Tracing. Computer Graphics CMU /15-662, Fall 2016 Ray Tracing Computer Graphics CMU 15-462/15-662, Fall 2016 Primitive-partitioning vs. space-partitioning acceleration structures Primitive partitioning (bounding volume hierarchy): partitions node s primitives

More information

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome!

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome! INFOMAGR Advanced Graphics Jacco Bikker - February April 2016 Welcome! I x, x = g(x, x ) ε x, x + S ρ x, x, x I x, x dx Today s Agenda: Introduction : GPU Ray Tracing Practical Perspective Advanced Graphics

More information

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li

Parallel Physically Based Path-tracing and Shading Part 3 of 2. CIS565 Fall 2012 University of Pennsylvania by Yining Karl Li Parallel Physically Based Path-tracing and Shading Part 3 of 2 CIS565 Fall 202 University of Pennsylvania by Yining Karl Li Jim Scott 2009 Spatial cceleration Structures: KD-Trees *Some portions of these

More information

MSBVH: An Efficient Acceleration Data Structure for Ray Traced Motion Blur

MSBVH: An Efficient Acceleration Data Structure for Ray Traced Motion Blur MSBVH: An Efficient Acceleration Data Structure for Ray Traced Motion Blur Leonhard Grünschloß Martin Stich Sehera Nawaz Alexander Keller August 6, 2011 Principles of Accelerated Ray Tracing Hierarchical

More information

INFOGR Computer Graphics. J. Bikker - April-July Lecture 11: Acceleration. Welcome!

INFOGR Computer Graphics. J. Bikker - April-July Lecture 11: Acceleration. Welcome! INFOGR Computer Graphics J. Bikker - April-July 2015 - Lecture 11: Acceleration Welcome! Today s Agenda: High-speed Ray Tracing Acceleration Structures The Bounding Volume Hierarchy BVH Construction BVH

More information

B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes

B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes Graphics Hardware (2006) M. Olano, P. Slusallek (Editors) B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes Sven Woop, Gerd Marmitt, and Philipp Slusallek Computer Graphics Lab, Saarland

More information

Computer Graphics. - Spatial Index Structures - Philipp Slusallek

Computer Graphics. - Spatial Index Structures - Philipp Slusallek Computer Graphics - Spatial Index Structures - Philipp Slusallek Overview Last lecture Overview of ray tracing Ray-primitive intersections Today Acceleration structures Bounding Volume Hierarchies (BVH)

More information

Fast BVH Construction on GPUs

Fast BVH Construction on GPUs Fast BVH Construction on GPUs Published in EUROGRAGHICS, (2009) C. Lauterbach, M. Garland, S. Sengupta, D. Luebke, D. Manocha University of North Carolina at Chapel Hill NVIDIA University of California

More information

Lecture 11 - GPU Ray Tracing (1)

Lecture 11 - GPU Ray Tracing (1) INFOMAGR Advanced Graphics Jacco Bikker - November 2017 - February 2018 Lecture 11 - GPU Ray Tracing (1) Welcome! I x, x = g(x, x ) ε x, x + න S ρ x, x, x I x, x dx Today s Agenda: Exam Questions: Sampler

More information

Improving Memory Space Efficiency of Kd-tree for Real-time Ray Tracing Byeongjun Choi, Byungjoon Chang, Insung Ihm

Improving Memory Space Efficiency of Kd-tree for Real-time Ray Tracing Byeongjun Choi, Byungjoon Chang, Insung Ihm Improving Memory Space Efficiency of Kd-tree for Real-time Ray Tracing Byeongjun Choi, Byungjoon Chang, Insung Ihm Department of Computer Science and Engineering Sogang University, Korea Improving Memory

More information

Bounding Volume Hierarchies. CS 6965 Fall 2011

Bounding Volume Hierarchies. CS 6965 Fall 2011 Bounding Volume Hierarchies 2 Heightfield 3 C++ Operator? #include int main() { int x = 10; while( x --> 0 ) // x goes to 0 { printf("%d ", x); } } stackoverflow.com/questions/1642028/what-is-the-name-of-this-operator

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Spatial Data Structures

Spatial Data Structures Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) [Angel 9.10] Outline Ray tracing review what rays matter? Ray tracing speedup faster

More information

Embree Ray Tracing Kernels: Overview and New Features

Embree Ray Tracing Kernels: Overview and New Features Embree Ray Tracing Kernels: Overview and New Features Attila Áfra, Ingo Wald, Carsten Benthin, Sven Woop Intel Corporation Intel, the Intel logo, Intel Xeon Phi, Intel Xeon Processor are trademarks of

More information

Spatial Data Structures

Spatial Data Structures CSCI 480 Computer Graphics Lecture 7 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids BSP Trees [Ch. 0.] March 8, 0 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s/

More information

Lecture 2 - Acceleration Structures

Lecture 2 - Acceleration Structures INFOMAGR Advanced Graphics Jacco Bikker - November 2017 - February 2018 Lecture 2 - Acceleration Structures Welcome! I x, x = g(x, x ) ε x, x + න S ρ x, x, x I x, x dx Today s Agenda: Problem Analysis

More information

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday

Announcements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations

More information

Real Time Ray Tracing

Real Time Ray Tracing Real Time Ray Tracing Programação 3D para Simulação de Jogos Vasco Costa Ray tracing? Why? How? P3DSJ Real Time Ray Tracing Vasco Costa 2 Real time ray tracing : example Source: NVIDIA P3DSJ Real Time

More information

SAH guided spatial split partitioning for fast BVH construction. Per Ganestam and Michael Doggett Lund University

SAH guided spatial split partitioning for fast BVH construction. Per Ganestam and Michael Doggett Lund University SAH guided spatial split partitioning for fast BVH construction Per Ganestam and Michael Doggett Lund University Opportunistic triangle splitting for higher quality BVHs Bounding Volume Hierarchies (BVH)

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo Computer Graphics Bing-Yu Chen National Taiwan University The University of Tokyo Hidden-Surface Removal Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm

More information

Accelerating Ray-Tracing

Accelerating Ray-Tracing Lecture 9: Accelerating Ray-Tracing Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 Course Roadmap Rasterization Pipeline Core Concepts Sampling Antialiasing Transforms Geometric Modeling

More information

Interactive Ray Tracing: Higher Memory Coherence

Interactive Ray Tracing: Higher Memory Coherence Interactive Ray Tracing: Higher Memory Coherence http://gamma.cs.unc.edu/rt Dinesh Manocha (UNC Chapel Hill) Sung-Eui Yoon (Lawrence Livermore Labs) Interactive Ray Tracing Ray tracing is naturally sub-linear

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie

More information

Computer Graphics. Bing-Yu Chen National Taiwan University

Computer Graphics. Bing-Yu Chen National Taiwan University Computer Graphics Bing-Yu Chen National Taiwan University Visible-Surface Determination Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm Scan-Line Algorithm

More information

Accelerating Geometric Queries. Computer Graphics CMU /15-662, Fall 2016

Accelerating Geometric Queries. Computer Graphics CMU /15-662, Fall 2016 Accelerating Geometric Queries Computer Graphics CMU 15-462/15-662, Fall 2016 Geometric modeling and geometric queries p What point on the mesh is closest to p? What point on the mesh is closest to p?

More information

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome!

INFOMAGR Advanced Graphics. Jacco Bikker - February April Welcome! INFOMAGR Advanced Graphics Jacco Bikker - February April 2016 Welcome! I x, x = g(x, x ) ε x, x + S ρ x, x, x I x, x dx Today s Agenda: Introduction Ray Distributions The Top-level BVH Real-time Ray Tracing

More information

Lecture 4 - Real-time Ray Tracing

Lecture 4 - Real-time Ray Tracing INFOMAGR Advanced Graphics Jacco Bikker - November 2017 - February 2018 Lecture 4 - Real-time Ray Tracing Welcome! I x, x = g(x, x ) ε x, x + න S ρ x, x, x I x, x dx Today s Agenda: Introduction Ray Distributions

More information

Real-Time Graphics Architecture. Kurt Akeley Pat Hanrahan. Ray Tracing.

Real-Time Graphics Architecture. Kurt Akeley Pat Hanrahan.  Ray Tracing. Real-Time Graphics Architecture Kurt Akeley Pat Hanrahan http://www.graphics.stanford.edu/courses/cs448a-01-fall Ray Tracing with Tim Purcell 1 Topics Why ray tracing? Interactive ray tracing on multicomputers

More information

Acceleration Structure for Animated Scenes. Copyright 2010 by Yong Cao

Acceleration Structure for Animated Scenes. Copyright 2010 by Yong Cao t min X X Y 1 B C Y 1 Y 2 A Y 2 D A B C D t max t min X X Y 1 B C Y 2 Y 1 Y 2 A Y 2 D A B C D t max t min X X Y 1 B C Y 1 Y 2 A Y 2 D A B C D t max t min A large tree structure change. A totally new tree!

More information

Ray Tracing Performance

Ray Tracing Performance Ray Tracing Performance Zero to Millions in 45 Minutes Gordon Stoll, Intel Ray Tracing Performance Zero to Millions in 45 Minutes?! Gordon Stoll, Intel Goals for this talk Goals point you toward the current

More information

Exploiting Local Orientation Similarity for Efficient Ray Traversal of Hair and Fur

Exploiting Local Orientation Similarity for Efficient Ray Traversal of Hair and Fur 1 Exploiting Local Orientation Similarity for Efficient Ray Traversal of Hair and Fur Sven Woop, Carsten Benthin, Ingo Wald, Gregory S. Johnson Intel Corporation Eric Tabellion DreamWorks Animation 2 Legal

More information

GPU Computation Strategies & Tricks. Ian Buck NVIDIA

GPU Computation Strategies & Tricks. Ian Buck NVIDIA GPU Computation Strategies & Tricks Ian Buck NVIDIA Recent Trends 2 Compute is Cheap parallelism to keep 100s of ALUs per chip busy shading is highly parallel millions of fragments per frame 0.5mm 64-bit

More information

Ray Intersection Acceleration

Ray Intersection Acceleration Ray Intersection Acceleration Image Synthesis Torsten Möller Reading Physically Based Rendering by Pharr&Humphreys Chapter 2 - rays and transformations Chapter 3 - shapes Chapter 4 - intersections and

More information

Computer Graphics. - Ray-Tracing II - Hendrik Lensch. Computer Graphics WS07/08 Ray Tracing II

Computer Graphics. - Ray-Tracing II - Hendrik Lensch. Computer Graphics WS07/08 Ray Tracing II Computer Graphics - Ray-Tracing II - Hendrik Lensch Overview Last lecture Ray tracing I Basic ray tracing What is possible? Recursive ray tracing algorithm Intersection computations Today Advanced acceleration

More information

Intersection Acceleration

Intersection Acceleration Advanced Computer Graphics Intersection Acceleration Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volume hierarchies uniform grids kd-trees octrees

More information

A Hardware Pipeline for Accelerating Ray Traversal Algorithms on Streaming Processors

A Hardware Pipeline for Accelerating Ray Traversal Algorithms on Streaming Processors A Hardware Pipeline for Accelerating Ray Traversal Algorithms on Streaming Processors Michael Steffen Electrical and Computer Engineering Iowa State University steffma@iastate.edu Joseph Zambreno Electrical

More information

Accelerated Raytracing

Accelerated Raytracing Accelerated Raytracing Why is Acceleration Important? Vanilla ray tracing is really slow! mxm pixels, kxk supersampling, n primitives, average ray path length of d, l lights, 2 recursive ray casts per

More information

Collision Detection. Pu Jiantao.

Collision Detection. Pu Jiantao. Collision Detection Pu Jiantao. 12-09 Content Introduction CD with rays Dynamic CD using BSP Trees Hierarchical Method OBBTree Method Some Other Topics 12-1717 2 Introduction Collision Collision is a fundamental

More information

Real-Time Ray Tracing Using Nvidia Optix Holger Ludvigsen & Anne C. Elster 2010

Real-Time Ray Tracing Using Nvidia Optix Holger Ludvigsen & Anne C. Elster 2010 1 Real-Time Ray Tracing Using Nvidia Optix Holger Ludvigsen & Anne C. Elster 2010 Presentation by Henrik H. Knutsen for TDT24, fall 2012 Om du ønsker, kan du sette inn navn, tittel på foredraget, o.l.

More information

Ray Intersection Acceleration

Ray Intersection Acceleration Ray Intersection Acceleration CMPT 461/761 Image Synthesis Torsten Möller Reading Chapter 2, 3, 4 of Physically Based Rendering by Pharr&Humphreys An Introduction to Ray tracing by Glassner Topics today

More information

CPSC / Sonny Chan - University of Calgary. Collision Detection II

CPSC / Sonny Chan - University of Calgary. Collision Detection II CPSC 599.86 / 601.86 Sonny Chan - University of Calgary Collision Detection II Outline Broad phase collision detection: - Problem definition and motivation - Bounding volume hierarchies - Spatial partitioning

More information

Row Tracing with Hierarchical Occlusion Maps

Row Tracing with Hierarchical Occlusion Maps Row Tracing with Hierarchical Occlusion Maps Ravi P. Kammaje, Benjamin Mora August 9, 2008 Page 2 Row Tracing with Hierarchical Occlusion Maps Outline August 9, 2008 Introduction Related Work Row Tracing

More information

6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17]

6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17] 6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, 2011 9:05-12pm Two hand-written sheet of notes (4 pages) allowed NAME: 1 / 17 2 / 12 3 / 35 4 / 8 5 / 18 Total / 90 1 SSD [ /17]

More information

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz

CS 563 Advanced Topics in Computer Graphics QSplat. by Matt Maziarz CS 563 Advanced Topics in Computer Graphics QSplat by Matt Maziarz Outline Previous work in area Background Overview In-depth look File structure Performance Future Point Rendering To save on setup and

More information

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Anti-aliased and accelerated ray tracing University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Reading Required: Watt, sections 12.5.3 12.5.4, 14.7 Further reading: A. Glassner.

More information

Interactive Ray Tracing

Interactive Ray Tracing Interactive Ray Tracing Gabriel Mistelbauer June 1, 2007 Abstract In this paper several ways of achieving interactive ray tracing are described. First from the software point of view common acceleration

More information

Spatial Data Structures. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017

Spatial Data Structures. Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017 Spatial Data Structures Steve Rotenberg CSE168: Rendering Algorithms UCSD, Spring 2017 Ray Intersections We can roughly estimate the time to render an image as being proportional to the number of ray-triangle

More information

CS580: Ray Tracing. Sung-Eui Yoon ( 윤성의 ) Course URL:

CS580: Ray Tracing. Sung-Eui Yoon ( 윤성의 ) Course URL: CS580: Ray Tracing Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/gcg/ Recursive Ray Casting Gained popularity in when Turner Whitted (1980) recognized that recursive ray casting could

More information

EDAN30 Photorealistic Computer Graphics. Seminar 2, Bounding Volume Hierarchy. Magnus Andersson, PhD student

EDAN30 Photorealistic Computer Graphics. Seminar 2, Bounding Volume Hierarchy. Magnus Andersson, PhD student EDAN30 Photorealistic Computer Graphics Seminar 2, 2012 Bounding Volume Hierarchy Magnus Andersson, PhD student (magnusa@cs.lth.se) This seminar We want to go from hundreds of triangles to thousands (or

More information

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments? Homework 1: Questions/Comments? Implicit Surfaces,, & Volumetric Data Structures Loop Subdivision Shirley, Fundamentals of Computer Graphics Loop Subdivision SIGGRAPH 2000 course notes Subdivision for

More information

RPU: A Programmable Ray Processing Unit for Realtime Ray Tracing

RPU: A Programmable Ray Processing Unit for Realtime Ray Tracing RPU: A Programmable Ray Processing Unit for Realtime Ray Tracing Sven Woop Jo rg Schmittler Saarland University Philipp Slusallek Figure 1: Realtime renderings on the RPU prototype using a single FPGA

More information

PowerVR Hardware. Architecture Overview for Developers

PowerVR Hardware. Architecture Overview for Developers Public Imagination Technologies PowerVR Hardware Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.

More information

Ray Tracing with Spatial Hierarchies. Jeff Mahovsky & Brian Wyvill CSC 305

Ray Tracing with Spatial Hierarchies. Jeff Mahovsky & Brian Wyvill CSC 305 Ray Tracing with Spatial Hierarchies Jeff Mahovsky & Brian Wyvill CSC 305 Ray Tracing Flexible, accurate, high-quality rendering Slow Simplest ray tracer: Test every ray against every object in the scene

More information

Accelerating Shadow Rays Using Volumetric Occluders and Modified kd-tree Traversal

Accelerating Shadow Rays Using Volumetric Occluders and Modified kd-tree Traversal Accelerating Shadow Rays Using Volumetric Occluders and Modified kd-tree Traversal Peter Djeu*, Sean Keely*, and Warren Hunt * University of Texas at Austin Intel Labs Shadow Rays Shadow rays are often

More information

SPATIAL DATA STRUCTURES. Jon McCaffrey CIS 565

SPATIAL DATA STRUCTURES. Jon McCaffrey CIS 565 SPATIAL DATA STRUCTURES Jon McCaffrey CIS 565 Goals Spatial Data Structures (Construction esp.) Why What How Designing Algorithms for the GPU Why Accelerate spatial queries Search problem Target Application

More information

Ray Tracing with Multi-Core/Shared Memory Systems. Abe Stephens

Ray Tracing with Multi-Core/Shared Memory Systems. Abe Stephens Ray Tracing with Multi-Core/Shared Memory Systems Abe Stephens Real-time Interactive Massive Model Visualization Tutorial EuroGraphics 2006. Vienna Austria. Monday September 4, 2006 http://www.sci.utah.edu/~abe/massive06/

More information

Design and Evaluation of a Hardware Accelerated Ray Tracing Data Structure

Design and Evaluation of a Hardware Accelerated Ray Tracing Data Structure EG UK Theory and Practice of Computer Graphics(2009) Wen Tang, John Collomosse(Editors) Design and Evaluation of a Hardware Accelerated Ray Tracing Data Structure MichaelSteffenandJosephZambreno Department

More information

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences Hardware Accelerated Volume Visualization Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences A Real-Time VR System Real-Time: 25-30 frames per second 4D visualization: real time input of

More information

RACBVHs: Random Accessible Compressed Bounding Volume Hierarchies

RACBVHs: Random Accessible Compressed Bounding Volume Hierarchies RACBVHs: Random Accessible Compressed Bounding Volume Hierarchies Published at IEEE Transactions on Visualization and Computer Graphics, 2010, Vol. 16, Num. 2, pp. 273 286 Tae Joon Kim joint work with

More information

Soft Shadow Volumes for Ray Tracing with Frustum Shooting

Soft Shadow Volumes for Ray Tracing with Frustum Shooting Soft Shadow Volumes for Ray Tracing with Frustum Shooting Thorsten Harter Markus Osswald Chalmers University of Technology Chalmers University of Technology University Karlsruhe University Karlsruhe Ulf

More information

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics

Anti-aliased and accelerated ray tracing. University of Texas at Austin CS384G - Computer Graphics Anti-aliased and accelerated ray tracing University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell eading! equired:! Watt, sections 12.5.3 12.5.4, 14.7! Further reading:! A. Glassner.

More information

UberFlow: A GPU-Based Particle Engine

UberFlow: A GPU-Based Particle Engine UberFlow: A GPU-Based Particle Engine Peter Kipfer Mark Segal Rüdiger Westermann Technische Universität München ATI Research Technische Universität München Motivation Want to create, modify and render

More information

EFFICIENT BVH CONSTRUCTION AGGLOMERATIVE CLUSTERING VIA APPROXIMATE. Yan Gu, Yong He, Kayvon Fatahalian, Guy Blelloch Carnegie Mellon University

EFFICIENT BVH CONSTRUCTION AGGLOMERATIVE CLUSTERING VIA APPROXIMATE. Yan Gu, Yong He, Kayvon Fatahalian, Guy Blelloch Carnegie Mellon University EFFICIENT BVH CONSTRUCTION VIA APPROXIMATE AGGLOMERATIVE CLUSTERING Yan Gu, Yong He, Kayvon Fatahalian, Guy Blelloch Carnegie Mellon University BVH CONSTRUCTION GOALS High quality: produce BVHs of comparable

More information

Simulation in Computer Graphics Space Subdivision. Matthias Teschner

Simulation in Computer Graphics Space Subdivision. Matthias Teschner Simulation in Computer Graphics Space Subdivision Matthias Teschner Outline Introduction Uniform grid Octree and k-d tree BSP tree University of Freiburg Computer Science Department 2 Model Partitioning

More information

Johannes Hanika September 11, Fixed Point Hardware Ray Tracing

Johannes Hanika September 11, Fixed Point Hardware Ray Tracing Johannes Hanika September 11, 2007 Fixed Point Hardware Ray Tracing Page 2 Fixed Point Hardware Ray Tracing Fixed Point Hardware Ray Tracing September 11, 2007 Fixed Point Hardware Ray Tracing Motivation

More information

kd-trees for Volume Ray-Casting

kd-trees for Volume Ray-Casting kd-trees for Volume Ray-Casting Anita Schilling Special Seminar for Computer Graphics 15. January 2009 Anita Schilling kd-trees for Volume Ray-Casting 1 / 39 Outline 1 Introduction 2 Ray-Voxel Intersection

More information

Interactive Rendering with Coherent Ray Tracing

Interactive Rendering with Coherent Ray Tracing EUROGRAPHICS 2001 / A. Chalmers and T.-M. Rhyne (Guest Editors) Volume 20 (2001), Number 3 Interactive Rendering with Coherent Ray Tracing Ingo Wald, Philipp Slusallek, Carsten Benthin, and Markus Wagner

More information

Object Partitioning Considered Harmful: Space Subdivision for BVHs

Object Partitioning Considered Harmful: Space Subdivision for BVHs Object Partitioning Considered Harmful: Space Subdivision for BVHs Stefan Popov Saarland University Iliyan Georgiev Saarland University Rossen Dimov Saarland University Philipp Slusallek DFKI Saarbrücken

More information

Stackless Ray Traversal for kd-trees with Sparse Boxes

Stackless Ray Traversal for kd-trees with Sparse Boxes Stackless Ray Traversal for kd-trees with Sparse Boxes Vlastimil Havran Czech Technical University e-mail: havranat f el.cvut.cz Jiri Bittner Czech Technical University e-mail: bittnerat f el.cvut.cz November

More information

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp Next-Generation Graphics on Larrabee Tim Foley Intel Corp Motivation The killer app for GPGPU is graphics We ve seen Abstract models for parallel programming How those models map efficiently to Larrabee

More information

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 2 due tomorrow at 2pm Grading window

More information

Acceleration Data Structures. Michael Doggett Department of Computer Science Lund university

Acceleration Data Structures. Michael Doggett Department of Computer Science Lund university Acceleration Data Structures Michael Doggett Department of Computer Science Lund university Ray tracing So far ray tracing sampling object intersections Today How do we make it faster? Performance = rays

More information

Collision Detection based on Spatial Partitioning

Collision Detection based on Spatial Partitioning Simulation in Computer Graphics Collision Detection based on Spatial Partitioning Matthias Teschner Computer Science Department University of Freiburg Outline introduction uniform grid Octree and k-d tree

More information

Using Bounding Volume Hierarchies Efficient Collision Detection for Several Hundreds of Objects

Using Bounding Volume Hierarchies Efficient Collision Detection for Several Hundreds of Objects Part 7: Collision Detection Virtuelle Realität Wintersemester 2007/08 Prof. Bernhard Jung Overview Bounding Volumes Separating Axis Theorem Using Bounding Volume Hierarchies Efficient Collision Detection

More information

CS 464 Review. Review of Computer Graphics for Final Exam

CS 464 Review. Review of Computer Graphics for Final Exam CS 464 Review Review of Computer Graphics for Final Exam Goal: Draw 3D Scenes on Display Device 3D Scene Abstract Model Framebuffer Matrix of Screen Pixels In Computer Graphics: If it looks right then

More information

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

More information

Topics. Ray Tracing II. Intersecting transformed objects. Transforming objects

Topics. Ray Tracing II. Intersecting transformed objects. Transforming objects Topics Ray Tracing II CS 4620 Lecture 16 Transformations in ray tracing Transforming objects Transformation hierarchies Ray tracing acceleration structures Bounding volumes Bounding volume hierarchies

More information

HLBVH: Hierarchical LBVH Construction for Real Time Ray Tracing of Dynamic Geometry. Jacopo Pantaleoni and David Luebke NVIDIA Research

HLBVH: Hierarchical LBVH Construction for Real Time Ray Tracing of Dynamic Geometry. Jacopo Pantaleoni and David Luebke NVIDIA Research HLBVH: Hierarchical LBVH Construction for Real Time Ray Tracing of Dynamic Geometry Jacopo Pantaleoni and David Luebke NVIDIA Research Some Background Real Time Ray Tracing is almost there* [Garanzha and

More information

Kinetic BV Hierarchies and Collision Detection

Kinetic BV Hierarchies and Collision Detection Kinetic BV Hierarchies and Collision Detection Gabriel Zachmann Clausthal University, Germany zach@tu-clausthal.de Bonn, 25. January 2008 Bounding Volume Hierarchies BVHs are standard DS for collision

More information

Bounding Volume Hierarchies

Bounding Volume Hierarchies Tutorial: Real-Time Collision Detection for Dynamic Virtual Environments Bounding Volume Hierarchies Stefan Kimmerle WSI/GRIS University of Tübingen Outline Introduction Bounding Volume Types Hierarchy

More information

GeForce4. John Montrym Henry Moreton

GeForce4. John Montrym Henry Moreton GeForce4 John Montrym Henry Moreton 1 Architectural Drivers Programmability Parallelism Memory bandwidth 2 Recent History: GeForce 1&2 First integrated geometry engine & 4 pixels/clk Fixed-function transform,

More information

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Visible Surface Determination Visibility Culling Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Divide-and-conquer strategy:

More information

Advanced 3D-Data Structures

Advanced 3D-Data Structures Advanced 3D-Data Structures Eduard Gröller, Martin Haidacher Institute of Computer Graphics and Algorithms Vienna University of Technology Motivation For different data sources and applications different

More information

Accelerating Ray Tracing

Accelerating Ray Tracing Accelerating Ray Tracing Ray Tracing Acceleration Techniques Faster Intersections Fewer Rays Generalized Rays Faster Ray-Object Intersections Object bounding volumes Efficient intersection routines Fewer

More information

Computer Graphics Ray Casting. Matthias Teschner

Computer Graphics Ray Casting. Matthias Teschner Computer Graphics Ray Casting Matthias Teschner Outline Context Implicit surfaces Parametric surfaces Combined objects Triangles Axis-aligned boxes Iso-surfaces in grids Summary University of Freiburg

More information

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development

Scene Management. Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Video Game Technologies 11498: MSc in Computer Science and Engineering 11156: MSc in Game Design and Development Chap. 5 Scene Management Overview Scene Management vs Rendering This chapter is about rendering

More information

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be

More information

PantaRay: Fast Ray-traced Occlusion Caching of Massive Scenes J. Pantaleoni, L. Fascione, M. Hill, T. Aila

PantaRay: Fast Ray-traced Occlusion Caching of Massive Scenes J. Pantaleoni, L. Fascione, M. Hill, T. Aila PantaRay: Fast Ray-traced Occlusion Caching of Massive Scenes J. Pantaleoni, L. Fascione, M. Hill, T. Aila Agenda Introduction Motivation Basics PantaRay Accelerating structure generation Massively parallel

More information

An improvement in the build algorithm for Kd-trees using mathematical mean

An improvement in the build algorithm for Kd-trees using mathematical mean An improvement in the build algorithm for Kd-trees using mathematical mean Priyank Trivedi, Abhinandan Patni, Zeon Trevor Fernando and Tejaswi Agarwal School of Computing Sciences and Engineering, VIT

More information

Ray Tracing with Sparse Boxes

Ray Tracing with Sparse Boxes Ray Tracing with Sparse Boxes Vlastimil Havran Czech Technical University Jiří Bittner Czech Technical University Vienna University of Technology Figure : (left) A ray casted view of interior of a larger

More information

Programmable Shaders for Deformation Rendering

Programmable Shaders for Deformation Rendering Programmable Shaders for Deformation Rendering Carlos D. Correa, Deborah Silver Rutgers, The State University of New Jersey Motivation We present a different way of obtaining mesh deformation. Not a modeling,

More information

Acceleration Structures. CS 6965 Fall 2011

Acceleration Structures. CS 6965 Fall 2011 Acceleration Structures Run Program 1 in simhwrt Lab time? Program 2 Also run Program 2 and include that output Inheritance probably doesn t work 2 Boxes Axis aligned boxes Parallelepiped 12 triangles?

More information

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

Ray Tracing. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner) CS4620/5620: Lecture 37 Ray Tracing 1 Announcements Review session Tuesday 7-9, Phillips 101 Posted notes on slerp and perspective-correct texturing Prelim on Thu in B17 at 7:30pm 2 Basic ray tracing Basic

More information

Topics. Ray Tracing II. Transforming objects. Intersecting transformed objects

Topics. Ray Tracing II. Transforming objects. Intersecting transformed objects Topics Ray Tracing II CS 4620 ations in ray tracing ing objects ation hierarchies Ray tracing acceleration structures Bounding volumes Bounding volume hierarchies Uniform spatial subdivision Adaptive spatial

More information

Graphics Processing Unit Architecture (GPU Arch)

Graphics Processing Unit Architecture (GPU Arch) Graphics Processing Unit Architecture (GPU Arch) With a focus on NVIDIA GeForce 6800 GPU 1 What is a GPU From Wikipedia : A specialized processor efficient at manipulating and displaying computer graphics

More information