Download presentation
Presentation is loading. Please wait.
Published byLynne Flynn Modified over 9 years ago
1
H IGH P ERFORMANCE R AY T RACING Keqing Chen Yihan Sun Xinran Xu
2
O VERVIEW Ray tracing: a popular rendering method Traditional algorithms: only handle static scenes Still images, film, television visual effects More poorly suited for real-time applications like video games In recent years, some techniques have been presented to handle deformable scenes Specially-designed data structure BVH, kd-tree Using parallel methods
3
R ESULT
6
T RIANGLE M ESH A collection of vertices, edges and faces that defines the shape of a polyhedral object in 3D computer graphics and solid modeling The faces usually consist of triangles, quadrilaterals or other simple convex polygons We use polygon meshes only consisting of triangles
7
R AY T RACING - A LGORITHM Tracing a path from an imaginary eye through each pixel in a virtual screen, and calculating the color of the object visible through it
8
R AY T RACING - A LGORITHM
9
B OUNDING V OLUME H IERARCHY (BVH) A tree structure on a set of geometric objects All geometric objects are wrapped in bounding volumes that form the leaf nodes of the tree Build it recursively and update the bound of each node As long as there are more than one triangle in it, we will split it Calculate the bound of each node by combining its two sub-nodes
10
SAH-B ASED BVH
12
B UILDING A BVH - A PPROXIMATION Most calculations appear in numerating the cut plains and making partition in all three dimensions, and hard to parallel Approximation Ingo Wald. On fast Construction of SAH-based Bounding Volume Hierarchies. Cut the triangles into 32 groups evenly according to their coordinate value
13
B UILD A BVH – P SEUDO - CODE
14
R AY T RACING - T RAVERSAL IN BVH
15
B UILD A BVH – P ARALLELISM Parallel invoke cilk_spawn buildBVH(leftNode, leftTri); buildBVH(rightNode, rightTri); cilk_sync ; Parallel bucket sort For each Processor Do Compute the information (number, bounding box) of each bucket separately in disjoint sets Combine the information of different processors together For each Processor Do (Optional) Put the triangles into their positions separately
16
B UILD A BVH – P ARALLELISM
17
R ESULT Model from: http://graphics.stanford.edu/data/3Dscanrep/ For building a BVH model namenumber of triangles sequencialparalleledspeed-up Crytek Sponza1322671.5749480.3552064.4339 Chinese Dragon87130611.752762.3992634.898489 Happy Buddha108747415.116323.4798234.34399
18
R ESULT Model from: http://graphics.stanford.edu/data/3Dscanrep/ For building a BVH model namenumber of triangles sequencialparalleledspeed-up Crytek Sponza1322671.5749480.3552064.4339 Chinese Dragon87130611.752762.3992634.898489 Happy Buddha108747415.116323.4798234.34399
19
R ESULT For ray tracer: model name resolutio n focal length g++openmp cilk++, 1 thread cilk++, 4 threads car 800*600 6mm3.2120831.87797711.07063.29703 car 800*600 13mm9.916275.76197334.190679.860459 combo 800*600 6mm35.7290719.93217117.820333.05656 combo 800*600 13mm48.4455827.7024162.447748.5733 head 1920*1080 6mm62.5528534.93843204.504556.2839 head 1920*1080 13mm56.9880331.9601183.566852.18083
20
R ESULT For ray tracer: model name resolutio n focal length g++openmp cilk++, 1 thread cilk++, 4 threads car800*6006mm3.2120831.87797711.07063.29703 car800*60013mm9.916275.76197334.190679.860459 combo800*6006mm35.7290719.93217117.820333.05656 combo800*60013mm48.4455827.7024162.447748.5733 head1920*10806mm62.5528534.93843204.504556.2839 head1920*108013mm56.9880331.9601183.566852.18083
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.