Path/Ray Tracing Examples. Path/Ray Tracing Rendering algorithms that trace photon rays Trace from eye – Where does this photon come from? Trace from.

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.
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
IIIT Hyderabad Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad,
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.
Latency considerations of depth-first GPU ray tracing
Two-Level Grids for Ray Tracing on GPUs
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.
Paper Presentation - An Efficient GPU-based Approach for Interactive Global Illumination- Rui Wang, Rui Wang, Kun Zhou, Minghao Pan, Hujun Bao Presenter.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Ray Tracing Acceleration Structures Solomon Boulos 4/16/2004.
Memory-Savvy Distributed Interactive Ray Tracing David E. DeMarle Christiaan Gribble Steven Parker.
Computer Graphics (Fall 2005) COMS 4160, Lecture 21: Ray Tracing
1 View Coherence Acceleration for Ray Traced Animation University of Colorado at Colorado Springs Master’s Thesis Defense by Philip Glen Gage April 19,
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 14: Ray Tracing
1 7M836 Animation & Rendering Global illumination, ray tracing Arjan Kok
CIS 310: Visual Programming, Spring 2006 Western State College 310: Visual Programming Ray Tracing.
Paper by Alexander Keller
Interactive k-D Tree GPU Raytracing Daniel Reiter Horn, Jeremy Sugerman, Mike Houston and Pat Hanrahan.
RT08, August ‘08 Large Ray Packets for Real-time Whitted Ray Tracing Ryan Overbeck Columbia University Ravi Ramamoorthi Columbia University William R.
Presentation of LR2V Kadi Bouatouch IRISA
Computer Graphics 2 Lecture x: Acceleration Techniques for Ray-Tracing Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Interactive Ray Tracing: From bad joke to old news David Luebke University of Virginia.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
1 Single Scattering in Refractive Media with Triangle Mesh Boundaries Bruce Walter Shuang Zhao Nicolas Holzschuch Kavita Bala Cornell Univ. Grenoble Univ.
Today More raytracing stuff –Soft shadows and anti-aliasing More rendering methods –The text book is good on this –I’ll be using images from the CDROM.
-Global Illumination Techniques
Stefan PopovHigh Performance GPU Ray Tracing Real-time Ray Tracing on GPU with BVH-based Packet Traversal Stefan Popov, Johannes Günther, Hans- Peter Seidel,
Photon Mapping on Programmable Graphics Hardware
On a Few Ray Tracing like Algorithms and Structures. -Ravi Prakash Kammaje -Swansea University.
An Evaluation of Existing BVH Traversal Algorithms for Efficient Multi-Hit Ray Tracing Jefferson Amstutz (SURVICE) Johannes Guenther (Intel) Ingo Wald.
1 Dr. Scott Schaefer Ray Tracing. 2/42 Ray Tracing Provides rendering method with  Refraction/Transparent surfaces  Reflective surfaces  Shadows.
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
Computer Graphics Global Illumination: Photon Mapping, Participating Media Lecture 12 Taku Komura.
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
Saarland University, Germany B-KD Trees for Hardware Accelerated Ray Tracing of Dynamic Scenes Sven Woop Gerd Marmitt Philipp Slusallek.
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)
Recursion and Data Structures in Computer Graphics Ray Tracing 1.
David Luebke11/26/2015 CS 551 / 645: Introductory Computer Graphics David Luebke
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
Basic Ray Tracing CMSC 435/634.
Memory Management and Parallelization Paul Arthur Navrátil The University of Texas at Austin.
Interactive Ray Tracing of Dynamic Scenes Tomáš DAVIDOVIČ Czech Technical University.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Bounding Volume Hierarchy. The space within the scene is divided into a grid. When a ray travels through a scene, it only passes a few boxes within the.
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.
Ray Tracing by GPU Ming Ouhyoung. Outline Introduction Graphics Hardware Streaming Ray Tracing Discussion.
David Luebke 3/5/2016 Advanced Computer Graphics Lecture 4: Faster Ray Tracing David Luebke
Global Illumination (3) Photon Mapping (1). Overview Light Transport Notation Path Tracing Photon Mapping –Photon Tracing –The Photon Map.
RENDERING : Global Illumination
CSE 681 Introduction to Ray Tracing. CSE 681 Ray Tracing Shoot a ray through each pixel; Find first object intersected by ray. Image plane Eye Compute.
Ray Tracing Acceleration (5). Ray Tracing Acceleration Techniques Too Slow! Uniform grids Spatial hierarchies K-D Octtree BSP Hierarchical grids Hierarchical.
1 The Method of Precomputing Triangle Clusters for Quick BVH Builder and Accelerated Ray Tracing Kirill Garanzha Department of Software for Computers Bauman.
Fabianowski · DinglianaInteractive Global Photon Mapping1 / 22 Interactive Global Photon Mapping Bartosz Fabianowski · John Dingliana Trinity College Dublin.
CSE 167 [Win 17], Lecture 15: Ray Tracing Ravi Ramamoorthi
Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad, India.
Two-Level Grids for Ray Tracing on GPUs
Ray Tracing Dr. Scott Schaefer.
Real-Time Ray Tracing Stefan Popov.
Mike Merchant Nicholas Hilbert
© University of Wisconsin, CS559 Fall 2004
Accelerated Single Ray Tracing for Wide Vector Units
CMSC 635 Ray Tracing.
UMBC Graphics for Games
Introduction to Ray Tracing
Presentation transcript:

Path/Ray Tracing Examples

Path/Ray Tracing Rendering algorithms that trace photon rays Trace from eye – Where does this photon come from? Trace from light – Where does this photon go?

What does ray intersect Just represent surfaces as polygonal mesh First hit – Normal case Any hit (usually any hit before here) – Shadows Multi-hit – Tell me everything on this ray

What happens when you hit Compute direct lighting Reflect Scatter – Probability distribution of directions – Average many rays – This is “path tracing” – Movies use this a lot

Acceleration Structures Bounding Volumes – Put stuff in an invisible box – If ray doesn’t hit box, don’t test stuff inside Bounding Volume Hierarchy (BVH) – Put your invisible boxes in invisible boxes Spatial Subdivision – Divide space (grid or K-D Tree) – Stop early when you find a cell with a hit

Computational Complexity o objects, p pixels, n rays per pixel, b bounces Naïve: O(o*n*p*b) With data structure: O(log(o)*n*p*b)

An Evaluation of Multi-Hit Ray Traversal in a BVH using Existing First-Hit/Any-Hit Kernels Amstutz, Gribble, Günther, Wald JCGT v4n4 2015

Memory considerations Minimal “hit point” data structure – Cache density – Memory bandwidth – Can recompute derived data

Data Layout SoA – Better cache efficiency for ordered access – Many reads/writes for scattered access AoS – Better cache efficiency for unordered access Including during sort operations – Fewer cache lines to write on unordered update

Hit point sorting As hits are found – Insertion sort – Adjacent hit points likely already in cache After all hits have been found – Simplifies hit processing (cache, SIMD divergence) – Better sorting algorithms – Sort less cache coherent

Testing Intel Xeon E5 – 18 cores (full modern x86) – 8-way AVX SIMD vector operations Intel Xeon Phi – 61 cores (Pentium-class in-order execution) – 16-way SIMD vector operations NVIDIA GTX Titan – 3072 GPU cores – 24 groups of 128-core SIMD

Test Scenes

Intersections per Second (CPU)

Intersections per Second (Phi)

Intersections per Second (GPU)

Sorted Deferred Shading for Production Path Tracing Eisenacher, Nichols, Selle, Burley EGSR 2013

Disney Hyperion Renderer Path tracer 2-level BVH “Production” = movies Can handle long render time per frame – Still display 24 frames per second – But still need to finish the movie!

Production rendering Render time: 35 minutes. Image size: 1920x photons per pixel ≤ 5 bounces 133M polygons GB texture.

Production rendering Render time: 68 minutes. Image size: 818x photons per pixel ≤ 6 bounces 70.5M polygons GB texture.

Cache problem Algorithm requires random rays Random access to BVH Random access to polygons Random access to textures NO cache coherence

Sort

Hit Point Sorting Sort shading hit points into groups by surface Surface accesses same texture Improves texture cache

Sort

Ray Sorting Bin by starting point and direction Likely to hit the same polygons Improve cache behavior for BVH and Polys

Improvement