Ray Tracing Ray Tracing 1 Basic algorithm Overview of pbrt Ray-surface intersection (triangles, …) Ray Tracing 2 Brute force: Acceleration data structures.

Slides:



Advertisements
Similar presentations
Sven Woop Computer Graphics Lab Saarland University
Advertisements

Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
Computer graphics & visualization Collisions. computer graphics & visualization Simulation and Animation – SS07 Jens Krüger – Computer Graphics and Visualization.
Ray Tracing CMSC 635. Basic idea How many intersections?  Pixels  ~10 3 to ~10 7  Rays per Pixel  1 to ~10  Primitives  ~10 to ~10 7  Every ray.
A Coherent Grid Traversal Algorithm for Volume Rendering Ioannis Makris Supervisors: Philipp Slusallek*, Céline Loscos *Computer Graphics Lab, Universität.
CS 445 Greg Humphreys, Spring 2003 Ray Tracing 2: Acceleration.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Ray Tracing Variants Distributed ray tracing Generalized rays Cone Tracing Beam Tracing Pencil.
Week 14 - Monday.  What did we talk about last time?  Bounding volume/bounding volume intersections.
RT06 conferenceVlastimil Havran On the Fast Construction of Spatial Hierarchies for Ray Tracing Vlastimil Havran 1,2 Robert Herzog 1 Hans-Peter Seidel.
Experiences with Streaming Construction of SAH KD Trees Stefan Popov, Johannes Günther, Hans-Peter Seidel, Philipp Slusallek.
Afrigraph 2004 Interactive Ray-Tracing of Free-Form Surfaces Carsten Benthin Ingo Wald Philipp Slusallek Computer Graphics Lab Saarland University, Germany.
Fast and Accurate Soft Shadows using a Real-Time Beam Tracer Ravi Ramamoorthi Columbia Vision and Graphics Center Columbia University
Collision Detection CSE 191A: Seminar on Video Game Programming Lecture 3: Collision Detection UCSD, Spring, 2003 Instructor: Steve Rotenberg.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 15: Ray Tracing/Global Illumination Ravi Ramamoorthi Slides.
Ray Tracing Acceleration Structures Solomon Boulos 4/16/2004.
Computer Graphics (Fall 2005) COMS 4160, Lecture 21: Ray Tracing
Specialized Acceleration Structures for Ray-Tracing Warren Hunt Bill Mark.
Optimized Subdivisions for Preprocessed Visibility Oliver Mattausch, Jiří Bittner, Peter Wonka, Michael Wimmer Institute of Computer Graphics and Algorithms.
Bounding Volume Hierarchies and Spatial Partitioning Kenneth E. Hoff III COMP-236 lecture Spring 2000.
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 14: Ray Tracing
ECS 298 Photorealistic Image Synthesis Rendering Acceleration Brian Budge Center for Image Processing and Integrated Computing Computer Science Department.
1 Advanced Scene Management System. 2 A tree-based or graph-based representation is good for 3D data management A tree-based or graph-based representation.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 2: Basic Ray Tracing Ravi Ramamoorthi Some slides courtesy.
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
Acceleration Digital Image Synthesis Yung-Yu Chuang 10/4/2005 with slides by Mario Costa Sousa and Pat Hanrahan.
Computer Graphics 2 Lecture x: Acceleration Techniques for Ray-Tracing Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Realtime Caustics using Distributed Photon Mapping Johannes Günther Ingo Wald * Philipp Slusallek Computer Graphics Group Saarland University ( * now at.
1 Speeding Up Ray Tracing Images from Virtual Light Field Project ©Slides Anthony Steed 1999 & Mel Slater 2004.
David Luebke10/9/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
On a Few Ray Tracing like Algorithms and Structures. -Ravi Prakash Kammaje -Swansea University.
Ray Intersection Acceleration
MIT EECS 6.837, Durand and Cutler Acceleration Data Structures for Ray Tracing.
(Short) Introduction to Parallel Computing CS 6560: Operating Systems Design.
Saarland University, Germany B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes Sven Woop Gerd Marmitt Philipp Slusallek.
1 KIPA Game Engine Seminars Jonathan Blow Ajou University December 6, 2002 Day 10.
CIS 350 – I Game Programming Instructor: Rolf Lakaemper.
Interactive Rendering With Coherent Ray Tracing Eurogaphics 2001 Wald, Slusallek, Benthin, Wagner Comp 238, UNC-CH, September 10, 2001 Joshua Stough.
Fast BVH Construction on GPUs (Eurographics 2009) Park, Soonchan KAIST (Korea Advanced Institute of Science and Technology)
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
Memory Management and Parallelization Paul Arthur Navrátil The University of Texas at Austin.
Ray Tracing Animated Scenes using Motion Decomposition Johannes Günther, Heiko Friedrich, Ingo Wald, Hans-Peter Seidel, and Philipp Slusallek.
Interactive Ray Tracing of Dynamic Scenes Tomáš DAVIDOVIČ Czech Technical University.
第五课 Ray Tracing. Overview of the Section Why Ray Tracing? What is Ray Tracing? How to tracing rays? How to accelerating ray-tracing?
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Ray Tracing II. HW1 Part A due October 10 Camera module Object module –Read from a file –Sphere and Light only Ray tracer module: –No shading. No reflection.
Constructive Solid Geometry Ray Tracing CSG Models
Compact, Fast and Robust Grids for Ray Tracing Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday, June 25th.
Advanced topics Advanced Multimedia Technology: Computer Graphics Yung-Yu Chuang 2006/01/04 with slides by Brian Curless, Zoran Popovic, Mario Costa Sousa.
Compact, Fast and Robust Grids for Ray Tracing
MIT EECS 6.837, Durand and Cutler Acceleration Data Structures for Ray Tracing.
Ray Tracing Optimizations
David Luebke 3/5/2016 Advanced Computer Graphics Lecture 4: Faster Ray Tracing David Luebke
RENDERING : Global Illumination
Ray Tracing Acceleration (5). Ray Tracing Acceleration Techniques Too Slow! Uniform grids Spatial hierarchies K-D Octtree BSP Hierarchical grids Hierarchical.
David Luebke3/12/2016 Advanced Computer Graphics Lecture 3: More Ray Tracing David Luebke
1 Advanced Scene Management. 2 This is a game-type-oriented issue Bounding Volume Hierarchies (BVHs) Binary space partition trees (BSP Trees) “Quake”
Path/Ray Tracing Examples. Path/Ray Tracing Rendering algorithms that trace photon rays Trace from eye – Where does this photon come from? Trace from.
Ray Tracing Acceleration (1). Acceleration of Ray Tracing Goal: Reduce the number of ray/primitive intersections.
Ray Tracing Acceleration (3)
1 The Method of Precomputing Triangle Clusters for Quick BVH Builder and Accelerated Ray Tracing Kirill Garanzha Department of Software for Computers Bauman.
Bounding Volume Hierarchies and Spatial Partitioning
CSE 167 [Win 17], Lecture 15: Ray Tracing Ravi Ramamoorthi
EECE 478 Game Physics.
Bounding Volume Hierarchies and Spatial Partitioning
Real-Time Ray Tracing Stefan Popov.
Ray Tracing Acceleration Techniques
Anti-aliased and accelerated ray tracing
Collision Detection.
Ray Tracing Sung-Eui Yoon (윤성의) CS580: Course URL:
Presentation transcript:

Ray Tracing Ray Tracing 1 Basic algorithm Overview of pbrt Ray-surface intersection (triangles, …) Ray Tracing 2 Brute force: Acceleration data structures

Ray Tracing Acceleration Techniques 1N Faster Intersection Fewer Rays Generalized Rays Approaches Tighter bounds Faster intersector Uniform grids Spatial hierarchies k-d, oct-tree, bsp hierarchical grids Hierarchical bounding volumes (HBV) Early ray termination Adaptive sampling Beam tracing Cone tracing Pencil tracing

Primitives pbrt primitive base class Shape Material and emission (area light) Primitives Basic geometric primitive Primitive instance Transformation and pointer to basic primitive Aggregate (collection) Treat collections just like basic primitives Incorporate acceleration structures into collections May nest accelerators of different types Types: grid.cpp and kdtree.cpp

Uniform Grids Preprocess scene Find bounding box

Uniform Grids Preprocess scene Find bounding box Determine resolution

Uniform Grids Preprocess scene Find bounding box Determine resolution Place object in cell, if object overlaps cell

Uniform Grids Preprocess scene Find bounding box Determine resolution Place object in cell, if object overlaps cell Check that object intersects cell

Uniform Grids Preprocess scene Traverse grid 3D line – 3D-DDA 6-connected line Section 4.3

Caveat: Overlap Optimize for objects that overlap multiple cells Traverse until tmin(cell) > tmax(ray) Problem: Redundant intersection tests: Solution: Mailboxes Assign each ray an increasing number Primitive intersection cache (mailbox) Store last ray number tested in mailbox Only intersect if ray number is greater

Spatial Hierarchies A A Letters correspond to planes (A) Point Location by recursive search

Spatial Hierarchies B A B A Letters correspond to planes (A, B) Point Location by recursive search

Spatial Hierarchies C B D C D A B A Letters correspond to planes (A, B, C, D) Point Location by recursive search

Variations oct-treekd-treebsp-tree

Ray Traversal Algorithms Recursive inorder traversal [Kaplan, Arvo, Jansen] Intersect(L,tmin,tmax)Intersect(R,tmin,tmax)Intersect(L,tmin,t*) Intersect(R,t*,tmax)

Build Hierarchy Top-Down Choose splitting plane Midpoint Median cut Surface area heuristic ?

Surface Area and Rays Number of rays in a given direction that hit an object is proportional to its projected area The total number of rays hitting an object is Crofton’s Theorem: For a convex body For example: sphere

Surface Area and Rays The probability of a ray hitting a convex shape that is completely inside a convex cell equals

Surface Area Heuristic a b Intersection time Traversal time

Surface Area Heuristic 2n splits a b

Comparison V. Havran, Best Efficiency Scheme Project

Comparison

Univ. Saarland RTRT Engine Ray-casts per second = 1K × 1K Pentium-IV 2.5GHz laptop Kd-tree with surface-area heuristic [Havran] Wald et al [ RT&Shading Scene SSE no shd. SSE simple shd. No SSE simple shd. ERW6 (static) ERW6 (dynamic) Conf (static) Conf (dynamic) Soda Hall

Interactive Ray Tracing Highly optimized software ray tracers Use vector instructions; Cache optimized Clusters and shared memory MPs Ray tracing hardware AR250/350 ray tracing processor SaarCOR Ray tracing on programmable GPUs

Theoretical Nugget 1 Computational geometry of ray shooting 1. Triangles (Pellegrini) Time: Space: 2. Sphere (Guibas and Pellegrini) Time: Space:

Theoretical Nugget 2 Optical computer = Turing machine Reif, Tygar, Yoshida Determining if a ray starting at y0 arrives at yn is undecidable y = y+1 y = -2*y if( y>0 )