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

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.
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.
Albert Mas Ignacio Martín Gustavo Patow Fast Inverse Reflector Design FIRD Graphics Group of Girona Institut d’Informàtica i Aplicacions Universitat de.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Advanced Computer Graphics (Spring 2006) COMS 4162, Lecture 8: Intro to 3D objects, meshes Ravi Ramamoorthi
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.
Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting TUDelft, 21 st June 2006 Lode Vanacken Expertise centre for Digital Media (EDM) Hasselt University.
1 7M836 Animation & Rendering Global illumination, ray tracing Arjan Kok
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:
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
CS 376 Introduction to Computer Graphics 04 / 16 / 2007 Instructor: Michael Eckmann.
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
Photon Mapping on Programmable Graphics Hardware
On a Few Ray Tracing like Algorithms and Structures. -Ravi Prakash Kammaje -Swansea University.
Visible-Surface Detection Jehee Lee Seoul National University.
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)
IIIT Hyderabad Scalable Clustering using Multiple GPUs K Wasif Mohiuddin P J Narayanan Center for Visual Information Technology International Institute.
Binary Space Partitioning Trees Ray Casting Depth Buffering
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
Efficient Streaming of 3D Scenes with Complex Geometry and Complex Lighting Romain Pacanowski and M. Raynaud X. Granier P. Reuter C. Schlick P. Poulin.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Surface Rendering Methods 고려대학교 컴퓨터 그래픽스 연구실.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Hybrid Algorithms K. H. Ko School of Mechatronics Gwangju Institute.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Advanced topics Advanced Multimedia Technology: Computer Graphics Yung-Yu Chuang 2006/01/04 with slides by Brian Curless, Zoran Popovic, Mario Costa Sousa.
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
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.
CGI2014 SPONSORED BY Ray tracing via GPU Rasterization Wei Hu 1 Yangyu Huang 1 Fan Zhang 1 Guodong Yuan 2 1 Beijing University of Chemical Technology,
Fabianowski · DinglianaInteractive Global Photon Mapping1 / 22 Interactive Global Photon Mapping Bartosz Fabianowski · John Dingliana Trinity College Dublin.
3D Rendering 2016, Fall.
Advanced Computer Graphics

Real-Time ray casting for virtual reality
Working Group « Pre-Filtering »
Reconstruction For Rendering distribution Effect
Two-Level Grids for Ray Tracing on GPUs
Ray Tracing Dr. Scott Schaefer.
Real-Time Ray Tracing Stefan Popov.
3D Graphics Rendering PPT By Ricardo Veguilla.
3D Object Representations
Chapter 10: Computer Graphics
CDA 6938 Final Project Triangulation from Point Cloud
Hybrid Ray Tracing of Massive Models
© University of Wisconsin, CS559 Fall 2004
Ray Tracing Dinesh Manocha COMP 575/770.
Accelerated Single Ray Tracing for Wide Vector Units
(c) 2002 University of Wisconsin
Primary Sample Space Path Guiding
Shared Memory and Distributed Memory Parallel Ray Tracer
Real-time Volumetric Lighting in Participating Media
(c) 2002 University of Wisconsin
Progressive Photon Mapping Toshiya Hachisuka Henrik Wann Jensen
Sara McMains UC Berkeley
Boolean Operations for Free-form Models Represented in Geometry Images
BVH Student: Jack Chang.
Radiosity Sung-Eui Yoon (윤성의) CS580: Course URL:
Introduction to Ray Tracing
An Analysis of Region Clustered BVH Volume Rendering on GPU
Presentation transcript:

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

Representing a Scene Triangular Mesh Implicit Surface Parametric Surface

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

Bezier Surfaces Most basic form of parametric surfaces Described as: Q(u,v) = [U][M][P][M]T[V]T where [U] = [u3 u2 u 1] and [V] = [v3 v2 v 1], 0 ≤ u,v ≤ 1 [M] : Bezier Basis Matrix [P] : set of 16 Control Points defining the patch

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

Ray Tracing Bezier Surface Constructing an Accelaration Structure Grid KD-Tree Bounding Volume Hierarchy(BVH)

Ray Tracing Bezier Surface Ray Traversal through BVH 1 2 3 4 5 6 7 8 9 Ray List Outputs Potential Ray-Patch intersections list Initial parameter values

Ray Tracing Bezier Surface Newton Iteration Bivariate Newton Iteration to solve for (u,v) R is the intersection equation for a ray, J is the Jacobian matrix of R. Picture Courtesy : http://steadyserverpages.com

Geimer 2005 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 Achieve 6.4 fps for 512x512 image. Original Curve Subdivided Linear Curve BVH Nodes 1 2 3 sp1 sp2 Subpatches at Leaf Patch1 P2 P3

Our Approach Mixed hierarchy: consists of two hierarchical structures. 1 2 3 4 BVH for Patches Top level BVH: Bounding boxes of original patches. Leaf nodes represent the original Bezier Surfaces. Subpatch Hierarchy Each Patch is divided into fixed size subpatches, hierarchically, using De Casteljau algorithm. Subtree for each patch from bounding boxes of the subdivided patches.

Mixed Hierarchy Advantages 1 2 3 4 BVH for Patches Subpatch Hierarchy Tighter bounds of subpatch Eliminates more rays Better Initialization Low Additional memory Intersection performed on original patches. Better suited for the GPU Shared memory stores skip pointer and subpatch number. We subdivide 6 times.

GPU Implementation A kernel traverses the first level of the BVH. Atomic operations to provide scalability. Output: Potential (Ray,Patch) intersections 1 2 3 4 5 6 7 Ray List 0,1 2,2 3,6 4,3 5,7 6,1 7,3 Potential Ray-Patch Intersections Another kernel parallely processes the generated (ray,patch) list. Tighter subpatch bounding boxes leads to further pruning. Output: Reduced potential (Ray,Patch) intersections. Initial values for each intersection. 0,1 2,2 4,3 5,7 7,3 14 8 7 34 63 Initial values

GPU Implementation Newton Iteration Each Ray-Patch intersection mapped to a thread Applied till convergence or max iteration Output: Hit-point and surface normal Takes 20-30% of the total time 0,1 2,2 4,3 5,7 7,3 Potential Intersections 14 8 7 34 63 Initial values H1 H2 NH H3 H4 Hit Points N1 N2 NH N3 N4 Surface Normals

Secondary Rays Generate direction from hit-point and surface normal. Generate Ray List. Apply the same algorithm for secondary Ray List. Recurse for a fixed depth for reflection/refractions. H1 H2 NH H3 H4 N1 N2 NH N3 N4 1 2 3 Secondary Rays Intersection Algorithm C1 C2 C3 C4 Final Color values

Hybrid Ray Tracing Generate Rays 1 2 3 4 5 6 7 Ray List 1 2 3 4 5 6 7 GPU CPU 1 2 3 4 5 6 7 Ray List 1 2 3 4 5 6 7 rayTraceGPU rayTraceCPU H1 H2 NH H3 H4 Hit Point Surface Normal N1 N2 NH N3 N4 Secondary Ray List 1 2 3

Results Teapot Model Fps : 64(115)* Bigguy Model Fps : 28.6(68.5) Killeroo Model Fps : 19.2(44.7) System Specs GTX 580 + i7 920 1024x1024 Primary + Shadow + Reflection 2 Killeroos Fps : 10.6(23) 9 Bigguys Fps : 5.2(13) * : Figure in bracket gives Primary fps

Results (Primary+Secondary) Model Patches Total Frame Time(ms) CPU GPU Hybrid Teapot 32 137 17.05 15.61 Bigguy 3570 232 39.45 34.92 Killeroo 11532 351 58.3 52.19 2 Killeroos 23064 726 106.03 94.55 9 Bigguys 32130 3107 196.79 191.81

Path Tracing We extend our ray tracing approach to Global Illumination effects. We use Cook’s approach Monte Carlo based Stochastic Sampling Sample image at appropriate non-uniformly spaced points. Each pixel sampled for a user defined samples per pixel -0.5,-0.5 0.5,0.5

Bigguy in a box: 400 spp, 512x512 resolution Path Tracing Bigguy in a box: 400 spp, 512x512 resolution Rendered in 75 secs

Bigguy in a box: 1000 spp, 512x512 resolution Path Tracing Bigguy in a box: 1000 spp, 512x512 resolution Rendered in 165 secs

Bigguy in a box: 2000 spp, 512x512 resolution Path Tracing Bigguy in a box: 2000 spp, 512x512 resolution Rendered in 323 secs

Bigguy in a box: 5000 spp, 512x512 resolution Path Tracing Bigguy in a box: 5000 spp, 512x512 resolution Rendered in 14.4 mins

Bigguy in a box: 10000 spp, 512x512 resolution Path Tracing Bigguy in a box: 10000 spp, 512x512 resolution Rendered in 28.5 mins

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

Thank you

Results Intel i7 920 + Nvidia GT X580; 1024x1024