IIIT Hyderabad Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad,

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.
Zhao Dong 1, Jan Kautz 2, Christian Theobalt 3 Hans-Peter Seidel 1 Interactive Global Illumination Using Implicit Visibility 1 MPI Informatik Germany 2.
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.
Presented by Konstantinos Georgiadis. Abstract This method extends the Hierarchical Radiosity approach for environments whose geometry and surface attributes.
Extended Gaussian Images
Two Methods for Fast Ray-Cast Ambient Occlusion Samuli Laine and Tero Karras NVIDIA Research.
Latency considerations of depth-first GPU ray tracing
Two-Level Grids for Ray Tracing on GPUs
Albert Mas Ignacio Martín Gustavo Patow Fast Inverse Reflector Design FIRD Graphics Group of Girona Institut d’Informàtica i Aplicacions Universitat de.
Paper Presentation - Micropolygon Ray Tracing With Defocus and Motion Blur - Qiming Hou, Hao Qin, Wenyao Li, Baining Guo, Kun Zhou Presenter : Jong Hyeob.
Afrigraph 2004 Interactive Ray-Tracing of Free-Form Surfaces Carsten Benthin Ingo Wald Philipp Slusallek Computer Graphics Lab Saarland University, Germany.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Introduction to Volume Rendering Presented by Zvi Devir.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 4: 3D Objects and Meshes Ravi Ramamoorthi
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
Optimized Subdivisions for Preprocessed Visibility Oliver Mattausch, Jiří Bittner, Peter Wonka, Michael Wimmer Institute of Computer Graphics and Algorithms.
Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting TUDelft, 21 st June 2006 Lode Vanacken Expertise centre for Digital Media (EDM) Hasselt University.
Anjul Patney University of California, Davis Real-Time Reyes Programmable Pipelines and Research Challenges.
RT08, August ‘08 Large Ray Packets for Real-time Whitted Ray Tracing Ryan Overbeck Columbia University Ravi Ramamoorthi Columbia University William R.
CSS552 Final Project Demo Peter Lam Tim Chuang. Problem Statement Our goal is to experiment with different post rendering effects (Cel Shading, Bloom.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
COMP 175: Computer Graphics March 24, 2015
1 Single Scattering in Refractive Media with Triangle Mesh Boundaries Bruce Walter Shuang Zhao Nicolas Holzschuch Kavita Bala Cornell Univ. Grenoble Univ.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
-Global Illumination Techniques
Cg Programming Mapping Computational Concepts to GPUs.
CS 376 Introduction to Computer Graphics 04 / 16 / 2007 Instructor: Michael Eckmann.
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,
Gregory Fotiades.  Global illumination techniques are highly desirable for realistic interaction due to their high level of accuracy and photorealism.
On a Few Ray Tracing like Algorithms and Structures. -Ravi Prakash Kammaje -Swansea University.
Visible-Surface Detection Jehee Lee Seoul National University.
1 Rendering Geometry with Relief Textures L.Baboud X.Décoret ARTIS-GRAVIR/IMAG-INRIA.
Parallel MDOM for Rendering Participating Media Ajit Hakke Patil – Daniele Bernabei Charly Collin – Ke Chen – Sumanta Pattanaik Fabio Ganovelli.
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
Institute of C omputer G raphics, TU Braunschweig Hybrid Scene Structuring with Application to Ray Tracing 24/02/1999 Gordon Müller, Dieter Fellner 1 Hybrid.
Fast BVH Construction on GPUs (Eurographics 2009) Park, Soonchan KAIST (Korea Advanced Institute of Science and Technology)
SIGGRAPH 2011 ASIA Preview Seminar Rendering: Accuracy and Efficiency Shinichi Yamashita Triaxis Co.,Ltd.
IIIT Hyderabad Scalable Clustering using Multiple GPUs K Wasif Mohiuddin P J Narayanan Center for Visual Information Technology International Institute.
1 by: Ilya Melamed Supervised by: Eyal Sarfati High Speed Digital Systems Lab.
View-dependent Adaptive Tessellation of Spline Surfaces
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
 Genetic Algorithms  A class of evolutionary algorithms  Efficiently solves optimization tasks  Potential Applications in many fields  Challenges.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Surface Rendering Methods 고려대학교 컴퓨터 그래픽스 연구실.
Interactive Ray Tracing of Dynamic Scenes Tomáš DAVIDOVIČ Czech Technical University.
1 Subdivision. 2 Subdivision for game Why? Large model require many memory for storage Need to dynamically tessellated during game play Make surface modeling.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Hybrid Algorithms K. H. Ko School of Mechatronics Gwangju Institute.
Curves: ch 4 of McConnell General problem with constructing curves: how to create curves that are “smooth” CAD problem Curves could be composed of segments.
11/6/ :55 Graphics II Introduction to Parametric Curves and Surfaces Session 2.
Compact, Fast and Robust Grids for Ray Tracing Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday, June 25th.
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Compact, Fast and Robust Grids for Ray Tracing
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
Global Illumination (3) Path Tracing. Overview Light Transport Notation Path Tracing Photon Mapping.
Path/Ray Tracing Examples. Path/Ray Tracing Rendering algorithms that trace photon rays Trace from eye – Where does this photon come from? Trace from.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Fabianowski · DinglianaInteractive Global Photon Mapping1 / 22 Interactive Global Photon Mapping Bartosz Fabianowski · John Dingliana Trinity College Dublin.

Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad, India.
Real-Time Ray Tracing Stefan Popov.
3D Object Representations
CDA 6938 Final Project Triangulation from Point Cloud
Hybrid Ray Tracing of Massive Models
Accelerated Single Ray Tracing for Wide Vector Units
Sara McMains UC Berkeley
Boolean Operations for Free-form Models Represented in Geometry Images
Presentation transcript:

IIIT Hyderabad Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad, India

IIIT Hyderabad Representing a Scene f>0 f<0 f=0 Triangular MeshImplicit Surface Parametric Surface

IIIT Hyderabad Parametric Surface: Motivation  Provide compact and effective representation.  Remain curved and smooth at arbitrary level of zooming.  Memory efficient, in comparison with triangular mesh.

IIIT Hyderabad Bezier Surfaces Bezier Surfaces are the most basic form of parametric surfaces A Bezier Surface can be described as: Q(u,v) = [U][M][P][M] T [V] T where [U] = [u 3 u 2 u 1] and [V] = [v 3 v 2 v 1], 0 ≤ u,v ≤ 1 [M] is the Bezier Basis Matrix [P] is the set of 16 Control Points defining the patch

IIIT Hyderabad Rendering Bezier Surfaces Tessellation based approches –Eisenacher et al.(2009) : View Dependent Adaptive Subdivision Direct Ray Tracing –Geimer et al.(2005) : Newton Iteration –Pabst et al.(2006) : Bezier Clipping + Newton Iteration

IIIT Hyderabad Ray Tracing Bezier Surface Constructing an Accelaration Structure  Bounding Volume Hierarchy(BVH)

IIIT Hyderabad Ray Tracing Bezier Surface Ray Traversal through BVH Ray List Outputs Potential Ray-Patch intersections list Initial parameter values

IIIT Hyderabad Ray Tracing Bezier Surface Newton Iteration Picture Courtesy :

IIIT Hyderabad Geimer, Abert Approach Based on the flatness criteria, each patch is divided into subpatches. BVH for original surfaces –Bounding boxes of subpatches at leaf nodes. For each potential intersection –Generate initial values for Newton Iteration BVH Nodes sp1 sp2sp1sp2sp1sp2Subpatches at Leaf Original Curve Subdivided Linear Curve Patch1P2 P3

IIIT Hyderabad Limitation of the Model for GPUs GPU Access time: –High for global memory –Comparatively less for shared memory and registers When subdividing based on flatness criteria, we need to –Store subpatches starting index –Store total number of subpatches –Store initial [u,v] pair for each potential intersection. Thus more global memory operations result in lower throughput. Need to check every subpatch at leaf node

IIIT Hyderabad Our Approach Create a mixed hierarchy, consisting of two hierarchical structures. –The top level BVH tree is constructed from the bounding boxes of original patches. –Leaf nodes represent the original Bezier Surfaces. –Each Patch is divided into fixed size subpatches, hierarchically, using De Casteljau algorithm. –Make subtree for each patch from bounding boxes of the subdivided patches.

IIIT Hyderabad 1234 BVH Nodes Patches Subtree Nodes Sub-patches BVH for Patches Subpatch Hierarchy

IIIT Hyderabad Mixed Hierarchy Structure Newton Iteration applied to original patches –No memory required to store subpatches Fixed depth subtree –Utilize constant degree of bezier surfaces –Utilize shared memory –Apply early termination at subtree level –Leads to tighter bounds –A subdivision depth of 6 was found empirically sufficient.

IIIT Hyderabad Mixed Hierarchy Structure Newton Iteration applied on original patches. –No memory required to store subpatches. Fixed depth makes it possible utilize shared memory. A subtree at lower level leads to early termination at this stage, reducing the (Ray, Bounding Box) intersections. Subdivision also leads to tighter bounds, which further reduces the potential (Ray,Patch) intersections. A subdivision depth of 6 was found empirically sufficient for our scenes.

IIIT Hyderabad GPU Traversal of Mixed Hierarchy Structure A ‘traverse’ kernel traverses the first level of the BVH. –Lists out Potential (Ray,Patch) intersections. –We make use of atomic operations, to provide scalability. ‘Recheck’ kernel parallely processes the generated (ray,patch) list. –This leads to further pruning of the list with tighter subpatch bounding boxes. –We make use of ‘t’ values computed here, to not traverse subpatch nodes with higher values. –This leads to reduced computation and in cases of false positive, a little less accurate initial values. –Lists out the reduced potential (Ray,Patch) intersections. –Generates the initial values for each intersection.

IIIT Hyderabad Secondary Rays

IIIT Hyderabad Hybrid Ray Tracing Start Preprocessing rayTraceGPUrayTraceCPU GPUCPU Point and Normal Ray List Generate Secondary Rays

IIIT Hyderabad Hybrid Ray Tracing Divide the Ray list between CPU and GPU GPU algorithm comprises of three kernels: Traverse : Generate Potential Ray-Patch Intersections Recheck : Further prune intersections and get initial values Newton : Apply Newton iteration to get hit-point CPU stage comprises of: 1. Divide CPU Raylist into 2c threads, where c is number of cores. 2. Intersect with main BVH 3. If intersects, intersect with 2 nd level subtree. 4. Apply Newton iteration to get hit-point

IIIT Hyderabad Results Teapot Model Fps : 64 Bigguy Model Fps : 28.6 Killeroo Model Fps : Killeroos Fps : Bigguys Fps : 5.2 System Specs GTX i x1024

IIIT Hyderabad Path Tracing We extend our ray tracing approach to Global Illumination effects. We use Cook’s approach of Monte Carlo based Stochastic Sampling, to sample the image at appropriate non-uniformly spaced points. Each pixel is sampled for a user defined samples per pixel We apply our data parallel approach to this massive ray list to generate the desired effects.

IIIT Hyderabad Path Tracing Bigguy in a box: 400 spp, 512x512 resolution Rendered in 28.5 minutes

IIIT Hyderabad Path Tracing Bigguy in a box: 1000 spp, 512x512 resolution Rendered in 28.5 minutes

IIIT Hyderabad Path Tracing Bigguy in a box: 3000 spp, 512x512 resolution Rendered in 28.5 minutes

IIIT Hyderabad Path Tracing Bigguy in a box: 5000 spp, 512x512 resolution Rendered in 28.5 minutes

IIIT Hyderabad Path Tracing Bigguy in a box: spp, 512x512 resolution Rendered in 28.5 minutes

IIIT Hyderabad Conclusion A mixed hierarchy model is proposed to speed up Ray Tracing process. GPU benefits greatly from fixed depth subtree. A hybrid model is proposed, to fully utilize compute power of CPU and GPU. We demonstrate the capability of our method by producing Global Illumination effects for Bezier patches.

IIIT Hyderabad THANK YOU

IIIT Hyderabad

Hybrid Ray Tracing Divide the Ray list between CPU and GPU  Ratio decided based on compute capabilities GPU algorithm comprises of three kernels:  Traverse : Generate Potential Ray-Patch Intersections  Recheck : Further prune intersections and get initial values  Newton : Apply Newton iteration to get hit-point CPU stage comprises of: 1.Divide CPU Raylist into 2c threads, where c is number of cores. 2.Intersection with main BVH 3.If intersects, further intersection with 2 nd level subtree. 4.Finally, apply Newton iteration and generate hit-point CPU benefits from early ray termination.

IIIT Hyderabad Hybrid Ray Tracing

IIIT Hyderabad Newton Iteration We represent a ray as intersection of two planes, (n 1,d 1 ) and (n 2,d 2 ) The ray patch intersection equation becomes Q(u,v) represents the point on the patch. We use Newton Iteration to solve for (u,v) Here J is the inverse Jacobian matrix of R.

IIIT Hyderabad Results (Primary Rays, 1024x1024) ModelPatchesRay-Patch Intersections Total Frame Time(ms) CPUGPUHybrid Teapot Bigguy Killeroo Killeroos Bigguys

IIIT Hyderabad Results (Primary +Secondary) ModelPatchesTotal Frame Time(ms) CPUGPUHybrid Teapot Bigguy Killeroo Killeroos Bigguys