B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes
|
|
- Homer Heath
- 5 years ago
- Views:
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 Hardware Trends For Real-time Ray Tracing Philipp Slusallek Saarland University, Germany Large Model Visualization at Boeing CATIA Model of Boeing
More informationMassive 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 informationAcceleration 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 informationEstimating 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 informationRay 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 informationINFOMAGR 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 informationParallel 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 informationMSBVH: 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 informationINFOGR 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 informationB-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 informationComputer 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 informationFast 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 informationLecture 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 informationImproving 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 informationBounding 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 informationSpatial 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 informationSpatial 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 informationEmbree 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 informationSpatial 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 informationLecture 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 informationAnnouncements. 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 informationReal 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 informationSAH 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 informationSpatial 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 informationComputer 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 informationAccelerating 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 informationInteractive 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 informationSpatial 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 informationComputer 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 informationAccelerating 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 informationINFOMAGR 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 informationLecture 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 informationReal-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 informationAcceleration 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 informationRay 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 informationExploiting 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 informationGPU 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 informationRay 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 informationComputer 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 informationIntersection 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 informationA 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 informationAccelerated 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 informationCollision 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 informationReal-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 informationRay 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 informationCPSC / 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 informationRow 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 information6.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 informationCS 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 informationAnti-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 informationInteractive 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 informationSpatial 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 informationCS580: 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 informationEDAN30 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 informationHomework 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 informationRPU: 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 informationPowerVR 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 informationRay 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 informationAccelerating 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 informationSPATIAL 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 informationRay 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 informationDesign 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 informationHardware 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 informationRACBVHs: 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 informationSoft 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 informationAnti-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 informationUberFlow: 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 informationEFFICIENT 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 informationSimulation 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 informationJohannes 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 informationkd-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 informationInteractive 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 informationObject 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 informationStackless 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 informationNext-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 informationCSE 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 informationAcceleration 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 informationCollision 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 informationUsing 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 informationCS 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 informationLecture 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 informationTopics. 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 informationHLBVH: 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 informationKinetic 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 informationBounding 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 informationGeForce4. 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 informationPage 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 informationAdvanced 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 informationAccelerating 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 informationComputer 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 informationScene 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 informationCSE 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 informationPantaRay: 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 informationAn 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 informationRay 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 informationProgrammable 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 informationAcceleration 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 informationRay 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 informationTopics. 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 informationGraphics 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