Physically Based Rendering ( ) Intersection Acceleration

Size: px
Start display at page:

Download "Physically Based Rendering ( ) Intersection Acceleration"

Transcription

1 Physically ased Rendering ( ) Intersection cceleration

2 Intersection Testing ccelerated techniques try to leverage: Grouing: To efficiently discard grous of rimitives that are guaranteed to be missed by the ray. Ordering: To test nearer intersections first and allow for early termination if there is a hit.

3 Intersection Testing Two roaches: 1. Sace artitions: ecomose sace into cells and assign rimitives to the cells in which they fall. rimitive may aear in multile cells 2. Object artitions: Grou objects into clusters luster volumes may overla

4 Uniform (Voxel) Grid cceleration onstruct uniform grid over scene Index rimitives according to overlas with grid cells rimitive may belong to multile cells cell may have multile rimitives

5 Uniform (Voxel) Grid cceleration Trace rays through grid cells ast Incremental Only check rimitives in intersected grid cells

6 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values

7 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values 2. While inside:

8 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values 2. While inside: 1. ind closer hit dir.

9 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values 2. While inside: 1. ind closer hit dir. 2. Test rims. in voxel

10 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values 2. While inside: 1. ind closer hit dir. 2. Test rims. in voxel 3. If hit inside voxel: one!

11 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values 2. While inside: 1. ind closer hit dir. 2. Test rims. in voxel 3. If hit inside voxel: one! 4. Udate current t

12 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values 2. While inside: 1. ind closer hit dir. 2. Test rims. in voxel 3. If hit inside voxel: one! 4. Udate current t

13 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values 2. While inside: 1. ind closer hit dir. 2. Test rims. in voxel 3. If hit inside voxel: one! 4. Udate current t

14 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values 2. While inside: 1. ind closer hit dir. 2. Test rims. in voxel 3. If hit inside voxel: one! 4. Udate current t

15 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values 2. While inside: 1. ind closer hit dir. 2. Test rims. in voxel 3. If hit inside voxel: one! 4. Udate current t ouldn t we just sto the first time we hit?

16 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values 2. While inside: 1. ind closer hit dir. 2. Test rims. in voxel 3. If hit inside voxel: one! 4. Udate current t

17 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values 2. While inside: 1. ind closer hit dir. 2. Test rims. in voxel 3. If hit inside voxel: one! 4. Udate current t

18 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values 2. While inside: 1. ind closer hit dir. 2. Test rims. in voxel 3. If hit inside voxel: one! 4. Udate current t

19 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values 2. While inside: 1. ind closer hit dir. 2. Test rims. in voxel 3. If hit inside voxel: one! 4. Udate current t

20 Uniform (Voxel) Grid cceleration Traversal: 1. ind initial x, y intersections and t values 2. While inside: 1. ind closer hit dir. 2. Test rims. in voxel 3. If hit inside voxel: one! 4. Udate current t

21 Uniform (Voxel) Grid cceleration Potential roblem: How choose suitable grid resolution? Too little benefit if grid is too coarse Too much cost if grid is too fine

22 ounding Volumes heck for intersection with the bounding volume: ounding cubes ounding boxes ounding sheres tc. Stuff that s easy to intersect

23 ounding Volumes heck for intersection with the bounding volume

24 ounding Volumes heck for intersection with the bounding volume If ray doesn t intersect bounding volume, then it doesn t intersect its contents

25 ounding Volumes heck for intersection with the bounding volume If ray doesn t intersect bounding volume, then it doesn t intersect its contents Still need to check for intersections with shae.

26 ounding Volume Hierarchies uild (binary) hierarchy of bounding volumes ounding volume of interior node contains all children

27 ounding Volume Hierarchies Grouing acceleration loat indintersection( Ray ray, ode node) { min_t = -1 if(!intersect ( node.boundingvolume ) ) return min_t // Test ounding box foreach shae { // Test node s shae t = Intersect( shae ) if( t>0 && (t<min_t min_t<0) ) min_t = t } } for each child { // Test node s children t = indintersection(ray, child) if (t>0 && (t < min_t min_t<0) ) min_t = t } return min_t;

28 ounding Volume Hierarchies uild (binary) hierarchy of bounding volumes ounding volume of interior node contains all children v 2 v 4 1 5

29 ounding Volume Hierarchies uild (binary) hierarchy of bounding volumes ounding volume of interior node contains all children 1 on t need to test shaes or eed to test 2 grous 1, 32, 3, 4, and 5 eed to test shaes,,, and v 2 v 4 1 5

30 ounding Volume Hierarchies Grouing + Ordering acceleration loat indintersection(ray ray, ode node) { // ind intersections with the shaes of the node // ind intersections with child node bounding volumes... // Sort child intersections front to back... } // Process intersections (checking for early termination) for each intersected child { if (min_t < bv_t[child]) break; t = indintersection(ray, child); if (t>0 && (t < min_t min_t<0) ) min_t = t } return min_t

31 ounding Volume Hierarchies uild (binary) hierarchy of bounding volumes ounding volume of interior node contains all children on t need to test shaes,,,, or 3 1 eed to test grous 1, 2, 3, 4, and 5 eed to 2 test shae v 4 1 5

32 ounding Volume Hierarchies How do we build u the bounding volume hierarchy?

33 ounding Volume Hierarchies How do we build u the bounding volume hierarchy? hoose an axis: 1. venly slit rimitives based on centroids.

34 ounding Volume Hierarchies How do we build u the bounding volume hierarchy? hoose an axis: 1. venly slit rimitives based on centroids.

35 ounding Volume Hierarchies How do we build u the bounding volume hierarchy? hoose an axis: 1. venly slit rimitives based on centroids. 2. ind the center and slit left/right.

36 ounding Volume Hierarchies How do we build u the bounding volume hierarchy? hoose an axis: 1. venly slit rimitives based on centroids. 2. ind the center and slit left/right.

37 ounding Volume Hierarchies How do we build u the bounding volume hierarchy? 3. Surface area heuristic: min c c c isect, ost of leaf node trav isect c isect : ost of testing for intersection c trav : ost of traversing a bounding volume : number of rimitives in bounding volume / : number of rimitives in child / / : robability that a ray isect the bounding volume will isect the child volume / ost of child nodes /

38 Minimum rea Heuristic min hallenge 1: How do you assign robabilities? hallenge 2: c isect, c trav c isect How do you choose the one out of different (non-trivial) ways to artition?

39 min hallenge 1: Minimum rea Heuristic c isect, c trav c isect How do you assign robabilities? or two convex shaes, the robability that a ray entering will also enter is: rea( ) / rea( )

40 Minimum rea Heuristic min hallenge 2: c isect, c trav c isect How do you choose the one out of different (non-trivial) ways to artition? Slitting by looking at centroids relative to a slit osition, there are only -1 slit ositions to consider.

41 Minimum rea Heuristic min hallenge 2: c isect, c trav c isect How do you choose the one out of different (non-trivial) ways to artition? Slitting by looking at centroids relative to a slit osition, there are only -1 slit ositions to consider. hoose the cost minimizer

42 min hallenge 2: Minimum rea Heuristic c isect, c trav c isect How do you choose the one out of different (non-trivial) ways to artition? Slitting by looking at centroids relative to a slit osition, there are only -1 slit ositions to consider. ll slits between successive centers give hoose the cost the minimizer same artition

43 Kd Trees Slit along the coordinate axes

44 Kd Trees Slit along the coordinate axes 1 1

45 Kd Trees Slit along the coordinate axes

46 Kd Trees Slit along the coordinate axes

47 Kd Trees Slit along the coordinate axes

48 Kd Trees Slit along the coordinate axes

49 Kd Trees Slit along the coordinate axes ote: 7 5 Primitives may belong to multile nodes

50 Minimum rea Heuristic min c isect, c trav c isect hallenge 2: How do you choose a artition location?

51 Minimum rea Heuristic min hallenge 2: c isect, c trav c isect How do you choose a artition location? Look at the end-oints of the rojection of the bounding boxes on the axes.

52 Minimum rea Heuristic min hallenge 2: c isect, c trav c isect How do you choose a artition location? Look at the end-oints of the rojection of the bounding boxes on the axes. hoose the artition that minimizes the cost.

53 min hallenge 2: Minimum rea Heuristic c isect, c trav c isect How do you choose a artition location? Look at the end-oints of the rojection of the bounding boxes on the axes. hoose the artition that minimizes ll slits the between cost. successive end-oints give the same artition

54 Minimum rea Heuristic min hallenge 2: c isect, c trav c isect How do you choose a artition location? or efficiency, generate k buckets and only consider artitioning on bucket boundaries. hoose the artition that minimizes the cost.

55 Minimum rea Heuristic min hallenge 2: c isect, c trav c isect How do you choose a artition location? or efficiency, generate k buckets and only consider artitioning on bucket boundaries. hoose the artition that minimizes the cost. v v

56 Minimum rea Heuristic min hallenge 2: c isect, c trav c isect How do you choose a artition location? or efficiency, generate k buckets and only consider artitioning on bucket boundaries. hoose the artition that minimizes the cost. v v

57 Minimum rea Heuristic min hallenge 2: c isect, c trav c isect How do you choose a artition location? or efficiency, generate k buckets and only consider artitioning on bucket boundaries. hoose the artition that minimizes the cost. v v

58 Minimum rea Heuristic ote: In contrast to bounding volumes, it may make sense to create kd-tree nodes with no rimitives (to cull out large emty sace): min c c c isect, trav isect min c isect, c trav c (1 ) isect with 01 and =0 if,

Accelerating Ray-Scene Intersection Calculations

Accelerating Ray-Scene Intersection Calculations ccelerating Ray-Scene Intersection alculations onnelly arnes S 80: Graphics cknowledgment: slides by Jason Lawrence, Misha Kazhdan, llison Klein, Tom unkhouser, dam inkelstein and avid obkin Overview cceleration

More information

Ray Casting. 3D Rendering. Ray Casting. Ray Casting. Ray Casting. Ray Casting

Ray Casting. 3D Rendering. Ray Casting. Ray Casting. Ray Casting. Ray Casting Rendering Ray asting The color of each pixel on the view plane depends on the radiance emanating from visible surfaces dam inkelstein rinceton University OS 6, Spring 00 Simplest method is ray casting

More information

Speeding Up Ray Tracing. Optimisations. Ray Tracing Acceleration

Speeding Up Ray Tracing. Optimisations. Ray Tracing Acceleration Speeding Up Ray Tracing nthony Steed 1999, eline Loscos 2005, Jan Kautz 2007-2009 Optimisations Limit the number of rays Make the ray test faster for shadow rays the main drain on resources if there are

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

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

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

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

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

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

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

11 - Spatial Data Structures

11 - Spatial Data Structures 11 - Spatial Data Structures cknowledgement: Marco Tarini Types of Queries Graphic applications often require spatial queries Find the k points closer to a specific point p (k-nearest Neighbours, knn)

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

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

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

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

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

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

Ray Tracing Acceleration Data Structures

Ray Tracing Acceleration Data Structures Ray Tracing Acceleration Data Structures Sumair Ahmed October 29, 2009 Ray Tracing is very time-consuming because of the ray-object intersection calculations. With the brute force method, each ray has

More information

Range Searching. Data structure for a set of objects (points, rectangles, polygons) for efficient range queries.

Range Searching. Data structure for a set of objects (points, rectangles, polygons) for efficient range queries. Range Searching Data structure for a set of objects (oints, rectangles, olygons) for efficient range queries. Y Q Deends on tye of objects and queries. Consider basic data structures with broad alicability.

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

Reading Ray Intersection Chapter 2: Geometry and Transformations Acceleration Covers basic math and PBRT implementation: read on your own

Reading Ray Intersection Chapter 2: Geometry and Transformations Acceleration Covers basic math and PBRT implementation: read on your own eading ay Intersection Acceleration eadings Chapter 2 Geometry & Transformations Chapter 3 Shapes Chapter 4 rimitives & Intersection Acceleration Covers basic math and BT implementation: read on your own

More information

A Model to Evaluate Ray Tracing Hierarchies

A Model to Evaluate Ray Tracing Hierarchies A Model to Evaluate Ray Tracing Hierarchies K. R. Subramanian Donald Fussell Department of Computer Sciences The University of Texas at Austin 1 Introduction In this article we develop a model to evaluate

More information

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology

Point Cloud Filtering using Ray Casting by Eric Jensen 2012 The Basic Methodology Point Cloud Filtering using Ray Casting by Eric Jensen 01 The Basic Methodology Ray tracing in standard graphics study is a method of following the path of a photon from the light source to the camera,

More information

Rendering. What is 3D rendering? קורס גרפיקה ממוחשבת 2008 סמסטר ב' מצלמה תאורה. Rendering Scenarios. Rendering Scenarios. 3D Rendering Issues

Rendering. What is 3D rendering? קורס גרפיקה ממוחשבת 2008 סמסטר ב' מצלמה תאורה. Rendering Scenarios. Rendering Scenarios. 3D Rendering Issues What is rendering? onstruct an image from a model קורס גרפיקה ממוחשבת 008 סמסטר ב' מצלמה תאורה iew lane Rendering Rendering מודל חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור

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

Ray Genealogy. Raytracing: Performance. Bounding Volumes. Bounding Volume. Acceleration Classification. Acceleration Classification

Ray Genealogy. Raytracing: Performance. Bounding Volumes. Bounding Volume. Acceleration Classification. Acceleration Classification Raytracing: Performance OS 4328/5327 Scott. King Ray Genealogy 1 Ray/pixel at 1k 1k image = 1M? rays rays. Say on avg. 6 secondary rays = 7M?rays rays 100k objects with 10 ops for intersection =? Operations

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

Computational Geometry

Computational Geometry Orthogonal Range Searching omputational Geometry hapter 5 Range Searching Problem: Given a set of n points in R d, preprocess them such that reporting or counting the k points inside a d-dimensional axis-parallel

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

521493S Computer Graphics Exercise 3 (Chapters 6-8)

521493S Computer Graphics Exercise 3 (Chapters 6-8) 521493S Comuter Grahics Exercise 3 (Chaters 6-8) 1 Most grahics systems and APIs use the simle lighting and reflection models that we introduced for olygon rendering Describe the ways in which each of

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

Ray Tracing Acceleration. CS 4620 Lecture 22

Ray Tracing Acceleration. CS 4620 Lecture 22 Ray Tracing Acceleration CS 4620 Lecture 22 2014 Steve Marschner 1 Topics Transformations in ray tracing Transforming objects Transformation hierarchies Ray tracing acceleration structures Bounding volumes

More information

Solid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects

Solid Modeling. Thomas Funkhouser Princeton University C0S 426, Fall Represent solid interiors of objects Solid Modeling Thomas Funkhouser Princeton University C0S 426, Fall 2000 Solid Modeling Represent solid interiors of objects Surface may not be described explicitly Visible Human (National Library of Medicine)

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

improving raytracing speed

improving raytracing speed ray tracing II computer graphics ray tracing II 2006 fabio pellacini 1 improving raytracing speed computer graphics ray tracing II 2006 fabio pellacini 2 raytracing computational complexity ray-scene intersection

More information

More Hidden Surface Removal

More Hidden Surface Removal Lecture 8 More Hidden Surface Removal Efficient Painter - binary space partition (BSP) tree Efficient Ray Casting - spatial partitioning (uniform, octrees) - bounding volumes Recall last lecture... front

More information

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

B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes 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

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

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows Last Time: Acceleration Data Structures for Ray Tracing Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion

More information

Ray-tracing Acceleration. Acceleration Data Structures for Ray Tracing. Shadows. Shadows & Light Sources. Antialiasing Supersampling.

Ray-tracing Acceleration. Acceleration Data Structures for Ray Tracing. Shadows. Shadows & Light Sources. Antialiasing Supersampling. Ray-tracing Acceleration Acceleration Data Structures for Ray Tracing Thanks to Fredo Durand and Barb Cutler Soft shadows Antialiasing (getting rid of jaggies) Glossy reflection Motion blur Depth of field

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

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

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University Ray Tracing III Wen-Chieh (Steve) Lin National Chiao-Tung University Shirley, Fundamentals of Computer Graphics, Chap 10 Doug James CG slides, I-Chen Lin s CG slides Ray-tracing Review For each pixel,

More information

Ray Casting. COS 426, Spring 2015 Princeton University

Ray Casting. COS 426, Spring 2015 Princeton University Ray Casting COS 426, Spring 2015 Princeton University Ray Casting The color of each pixel on the view plane depends on the radiance emanating along rays from visible surfaces in scene Light Surfaces Camera

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

CS770/870 Spring 2017 Ray Tracing Implementation

CS770/870 Spring 2017 Ray Tracing Implementation Useful ector Information S770/870 Spring 07 Ray Tracing Implementation Related material:angel 6e: h.3 Ray-Object intersections Spheres Plane/Polygon Box/Slab/Polyhedron Quadric surfaces Other implicit/explicit

More information

Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz

Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz Computing Visibility BSP Trees Ray Casting Depth Buffering Quiz Power of Plane Equations We ve gotten a lot of mileage out of one simple equation. Basis for D outcode-clipping Basis for plane-at-a-time

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

Recall: Inside Triangle Test

Recall: Inside Triangle Test 1/45 Recall: Inside Triangle Test 2D Bounding Boxes rasterize( vert v[3] ) { bbox b; bound3(v, b); line l0, l1, l2; makeline(v[0],v[1],l2); makeline(v[1],v[2],l0); makeline(v[2],v[0],l1); for( y=b.ymin;

More information

Clipping. Administrative. Assignment 1 Gallery. Questions about previous lectures? Overview of graphics pipeline? Assignment 2

Clipping. Administrative. Assignment 1 Gallery. Questions about previous lectures? Overview of graphics pipeline? Assignment 2 Cliing MIT EECS 6.837 Frédo Durand and Seth Teller Some slides and images courtesy of Leonard McMillan MIT EECS 6.837, Teller and Durand 1 MIT EECS 6.837, Teller and Durand 2 Administrative Assignment

More information

Ray Tracing. Outline. Ray Tracing: History

Ray Tracing. Outline. Ray Tracing: History Foundations of omputer Graphics Online Lecture 9: Ray Tracing 1 History and asic Ray asting Ravi Ramamoorthi Effects needed for Realism (Soft) Shadows Reflections (Mirrors and Glossy) Transparency (Water,

More information

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.

Chapter 11 Global Illumination. Part 1 Ray Tracing. Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11. Chapter 11 Global Illumination Part 1 Ray Tracing Reading: Angel s Interactive Computer Graphics (6 th ed.) Sections 11.1, 11.2, 11.3 CG(U), Chap.11 Part 1:Ray Tracing 1 Can pipeline graphics renders images

More information

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

INFOGR Computer Graphics. J. Bikker - April-July Lecture 11: Visibility. Welcome! INFOGR Computer Graphics J. Bikker - April-July 2016 - Lecture 11: Visibility Welcome! Smallest Ray Tracers: Executable 5692598 & 5683777: RTMini_minimal.exe 2803 bytes 5741858: ASM_CPU_Min_Exe 994 bytes

More information

Grouping of Patches in Progressive Radiosity

Grouping of Patches in Progressive Radiosity Grouing of Patches in Progressive Radiosity Arjan J.F. Kok * Abstract The radiosity method can be imroved by (adatively) grouing small neighboring atches into grous. Comutations normally done for searate

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

We will then introduce the DT, discuss some of its fundamental properties and show how to compute a DT directly from a given set of points.

We will then introduce the DT, discuss some of its fundamental properties and show how to compute a DT directly from a given set of points. Voronoi Diagram and Delaunay Triangulation 1 Introduction The Voronoi Diagram (VD, for short) is a ubiquitious structure that aears in a variety of discilines - biology, geograhy, ecology, crystallograhy,

More information

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial Data Structures and Speed-Up Techniques Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial data structures What is it? Data structure that organizes

More information

Ray Tracing Acceleration. CS 4620 Lecture 20

Ray Tracing Acceleration. CS 4620 Lecture 20 Ray Tracing Acceleration CS 4620 Lecture 20 2013 Steve Marschner 1 Will this be on the exam? or, Prelim 2 syllabus You can expect emphasis on topics related to the assignment (Shaders 1&2) and homework

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

Specialized Acceleration Structures for Ray-Tracing. Warren Hunt

Specialized Acceleration Structures for Ray-Tracing. Warren Hunt Specialized Acceleration Structures for Ray-Tracing Warren Hunt Bill Mark Forward: Flavor of Research Build is cheap (especially with scan, lazy and build from hierarchy) Grid build and BVH refit are really

More information

CSE 554 Lecture 5: Contouring (faster)

CSE 554 Lecture 5: Contouring (faster) CSE 554 Lecture 5: Contouring (faster) Fall 2016 CSE554 Contouring II Slide 1 Review Iso-contours Points where a function evaluates to be a given value (iso-value) Smooth thresholded boundaries Contouring

More information

קורס גרפיקה ממוחשבת 2010/2009 סמסטר א' Rendering 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור

קורס גרפיקה ממוחשבת 2010/2009 סמסטר א' Rendering 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור קורס גרפיקה ממוחשבת 2010/2009 סמסטר א' Rendering 1 חלק מהשקפים מעובדים משקפים של פרדו דוראנד, טומס פנקהאוסר ודניאל כהן-אור What is 3D rendering? Construct an image from a 3D model מצלמה תאורה View Plane

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

CS535 Fall Department of Computer Science Purdue University

CS535 Fall Department of Computer Science Purdue University Spatial Data Structures and Hierarchies CS535 Fall 2010 Daniel G Aliaga Daniel G. Aliaga Department of Computer Science Purdue University Spatial Data Structures Store geometric information Organize geometric

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

Questions from Last Week? Extra rays needed for these effects. Shadows Motivation

Questions from Last Week? Extra rays needed for these effects. Shadows Motivation CS 431/636 Advanced Rendering Techniques Dr. David Breen University Crossings 149 Tuesday 6PM 8:50PM Presentation 4 4/22/08 Questions from Last Week? Color models Light models Phong shading model Assignment

More information

CS 431/636 Advanced Rendering Techniques

CS 431/636 Advanced Rendering Techniques CS 431/636 Advanced Rendering Techniques Dr. David Breen University Crossings 149 Tuesday 6PM 8:50PM Presentation 4 4/22/08 Questions from Last Week? Color models Light models Phong shading model Assignment

More information

Convex Hulls. Helen Cameron. Helen Cameron Convex Hulls 1/101

Convex Hulls. Helen Cameron. Helen Cameron Convex Hulls 1/101 Convex Hulls Helen Cameron Helen Cameron Convex Hulls 1/101 What Is a Convex Hull? Starting Point: Points in 2D y x Helen Cameron Convex Hulls 3/101 Convex Hull: Informally Imagine that the x, y-lane is

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

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

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

Today. Acceleration Data Structures for Ray Tracing. Cool results from Assignment 2. Last Week: Questions? Schedule

Today. Acceleration Data Structures for Ray Tracing. Cool results from Assignment 2. Last Week: Questions? Schedule Today Acceleration Data Structures for Ray Tracing Cool results from Assignment 2 Last Week: koi seantek Ray Tracing Shadows Reflection Refraction Local Illumination Bidirectional Reflectance Distribution

More information

Shuigeng Zhou. May 18, 2016 School of Computer Science Fudan University

Shuigeng Zhou. May 18, 2016 School of Computer Science Fudan University Query Processing Shuigeng Zhou May 18, 2016 School of Comuter Science Fudan University Overview Outline Measures of Query Cost Selection Oeration Sorting Join Oeration Other Oerations Evaluation of Exressions

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

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

Hidden Surface Elimination: BSP trees

Hidden Surface Elimination: BSP trees Hidden Surface Elimination: BSP trees Outline Binary space partition (BSP) trees Polygon-aligned 1 BSP Trees Basic idea: Preprocess geometric primitives in scene to build a spatial data structure such

More information

Real-Time Voxelization for Global Illumination

Real-Time Voxelization for Global Illumination Lecture 26: Real-Time Voxelization for Global Illumination Visual Computing Systems Voxelization to regular grid Input: scene triangles Output: surface information at each voxel in 3D grid - Simple case:

More information

CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella

CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella Introduction Acceleration Techniques Spatial Data Structures Culling Outline for the Night Bounding

More information

Advanced Ray Tracing

Advanced Ray Tracing Advanced Ray Tracing Thanks to Fredo Durand and Barb Cutler The Ray Tree Ni surface normal Ri reflected ray Li shadow ray Ti transmitted (refracted) ray 51 MIT EECS 6.837, Cutler and Durand 1 Ray Tree

More information

CS 428: Fall Introduction to. Geometric Transformations. Andrew Nealen, Rutgers, /15/2010 1

CS 428: Fall Introduction to. Geometric Transformations. Andrew Nealen, Rutgers, /15/2010 1 CS 428: Fall 21 Introduction to Comuter Grahics Geometric Transformations Andrew Nealen, Rutgers, 21 9/15/21 1 Toic overview Image formation and OenGL (last week) Modeling the image formation rocess OenGL

More information

Illumination Model. The governing principles for computing the. Apply the lighting model at a set of points across the entire surface.

Illumination Model. The governing principles for computing the. Apply the lighting model at a set of points across the entire surface. Illumination and Shading Illumination (ighting) Model the interaction of light with surface oints to determine their final color and brightness OenG comutes illumination at vertices illumination Shading

More information

Class of Algorithms. Visible Surface Determination. Back Face Culling Test. Back Face Culling: Object Space v. Back Face Culling: Object Space.

Class of Algorithms. Visible Surface Determination. Back Face Culling Test. Back Face Culling: Object Space v. Back Face Culling: Object Space. Utah School of Computing Spring 13 Class of Algorithms Lecture Set Visible Surface Determination CS56 Computer Graphics From Rich Riesenfeld Spring 13 Object (Model) Space Algorithms Work in the model

More information

Collision and Proximity Queries

Collision and Proximity Queries Collision and Proximity Queries Dinesh Manocha (based on slides from Ming Lin) COMP790-058 Fall 2013 Geometric Proximity Queries l Given two object, how would you check: If they intersect with each other

More information

kd-trees Idea: Each level of the tree compares against 1 dimension. Let s us have only two children at each node (instead of 2 d )

kd-trees Idea: Each level of the tree compares against 1 dimension. Let s us have only two children at each node (instead of 2 d ) kd-trees Invented in 1970s by Jon Bentley Name originally meant 3d-trees, 4d-trees, etc where k was the # of dimensions Now, people say kd-tree of dimension d Idea: Each level of the tree compares against

More information

Holger Dammertz August 10, The Edge Volume Heuristic Robust Triangle Subdivision for Improved BVH Performance Holger Dammertz, Alexander Keller

Holger Dammertz August 10, The Edge Volume Heuristic Robust Triangle Subdivision for Improved BVH Performance Holger Dammertz, Alexander Keller Holger Dammertz August 10, 2008 The Edge Volume Heuristic Robust Triangle Subdivision for Improved BVH Performance Holger Dammertz, Alexander Keller Page 2 The Edge Volume Heuristic Robust Triangle Subdivision

More information

Lecture 8: Orthogonal Range Searching

Lecture 8: Orthogonal Range Searching CPS234 Comutational Geometry Setember 22nd, 2005 Lecture 8: Orthogonal Range Searching Lecturer: Pankaj K. Agarwal Scribe: Mason F. Matthews 8.1 Range Searching The general roblem of range searching is

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

Triangle Rasterization

Triangle Rasterization Triangle Rasterization Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/07/07 1 From last time Lines and planes Culling View frustum culling Back-face culling Occlusion culling

More information

Acceleration Data Structures for Ray Tracing

Acceleration Data Structures for Ray Tracing Acceleration Data Structures for Ray Tracing Travis Fischer and Nong Li (2007) Andries van Dam November 10, 2009 Acceleration Data Structures 1/35 Outline Introduction/Motivation Bounding Volume Hierarchy

More information

Logistics. CS 586/480 Computer Graphics II. Questions from Last Week? Slide Credits

Logistics. CS 586/480 Computer Graphics II. Questions from Last Week? Slide Credits CS 586/480 Computer Graphics II Dr. David Breen Matheson 408 Thursday 6PM Æ 8:50PM Presentation 4 10/28/04 Logistics Read research paper and prepare summary and question P. Hanrahan, "Ray Tracing Algebraic

More information

COMP 175: Computer Graphics April 11, 2018

COMP 175: Computer Graphics April 11, 2018 Lecture n+1: Recursive Ray Tracer2: Advanced Techniques and Data Structures COMP 175: Computer Graphics April 11, 2018 1/49 Review } Ray Intersect (Assignment 4): questions / comments? } Review of Recursive

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

Hierarchy. No or very little supervision Some heuristic quality guidances on the quality of the hierarchy. Jian Pei: CMPT 459/741 Clustering (2) 1

Hierarchy. No or very little supervision Some heuristic quality guidances on the quality of the hierarchy. Jian Pei: CMPT 459/741 Clustering (2) 1 Hierarchy An arrangement or classification of things according to inclusiveness A natural way of abstraction, summarization, compression, and simplification for understanding Typical setting: organize

More information

Geometric Modeling in Graphics

Geometric Modeling in Graphics Geometric Modeling in Graphics Part 2: Meshes properties Martin Samuelčík www.sccg.sk/~samuelcik samuelcik@sccg.sk Meshes properties Working with DCEL representation One connected component with simple

More information

Warped parallel nearest neighbor searches using kd-trees

Warped parallel nearest neighbor searches using kd-trees Warped parallel nearest neighbor searches using kd-trees Roman Sokolov, Andrei Tchouprakov D4D Technologies Kd-trees Binary space partitioning tree Used for nearest-neighbor search, range search Application:

More information

Visible Surface Detection Methods

Visible Surface Detection Methods Visible urface Detection Methods Visible-urface Detection identifying visible parts of a scene (also hidden- elimination) type of algorithm depends on: complexity of scene type of objects available equipment

More information