1 / 33

Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy

Rohit Nigam, P. J. Narayanan CVIT, IIIT Hyderabad, Hyderabad, India. Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy. Representing a Scene. f>0. f<0. f=0. Triangular Mesh. Implicit Surface. Parametric Surface. Parametric Surface: Motivation.

hamlin
Télécharger la présentation

Hybrid Ray Tracing and Path Tracing of Bezier Surfaces using a mixed hierarchy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Representing a Scene f>0 f<0 f=0 Triangular Mesh Implicit Surface Parametric Surface

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

  4. 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] = [u3 u2 u 1] and [V] = [v3 v2 v 1], 0 ≤ u,v ≤ 1 [M] is the Bezier Basis Matrix [P] is the set of 16 Control Points defining the patch

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

  6. Ray Tracing Bezier Surface • Constructing an Accelaration Structure • Bounding Volume Hierarchy(BVH)

  7. Ray Tracing Bezier Surface • Ray Traversal through BVH Ray List Outputs Potential Ray-Patch intersections list Initial parameter values

  8. Ray Tracing Bezier Surface • Newton Iteration Picture Courtesy : http://steadyserverpages.com

  9. 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 1 BVH Nodes 3 2 Original Curve Subdivided Linear Curve Patch1 P2 P3 sp2 sp1 sp2 sp1 sp2 Subpatches at Leaf sp1

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

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

  12. BVH Nodes BVH for Patches Patches 1 2 3 4 Subtree Nodes Subpatch Hierarchy Sub-patches

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

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

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

  16. Secondary Rays

  17. Hybrid Ray Tracing Start GPU CPU Preprocessing Ray List rayTraceGPU rayTraceCPU Point and Normal Generate Secondary Rays

  18. Hybrid Ray Tracing

  19. Results Teapot Model Fps : 64 Bigguy Model Fps : 28.6 Killeroo Model Fps : 19.2 System Specs GTX 580 + i7 920 1024x1024 2 Killeroos Fps : 10.6 9 Bigguys Fps : 5.2

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

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

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

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

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

  25. Path Tracing Bigguy in a box: 10000 spp, 512x512 resolution Rendered in 28.5 minutes

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

  27. Thank you

  28. 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: • Divide CPU Raylist into 2c threads, where c is number of cores. • Intersection with main BVH • If intersects, further intersection with 2nd level subtree. • Finally, apply Newton iteration and generate hit-point • CPU benefits from early ray termination.

  29. Hybrid Ray Tracing

  30. Newton Iteration • We represent a ray as intersection of two planes, (n1,d1) and (n2,d2) 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.

  31. Results (Primary Rays, 1024x1024)

  32. Results (Primary +Secondary)

More Related