Presentation is loading. Please wait.

Presentation is loading. Please wait.

H IGH P ERFORMANCE R AY T RACING Keqing Chen Yihan Sun Xinran Xu.

Similar presentations


Presentation on theme: "H IGH P ERFORMANCE R AY T RACING Keqing Chen Yihan Sun Xinran Xu."— Presentation transcript:

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

4

5

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

11

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

21


Download ppt "H IGH P ERFORMANCE R AY T RACING Keqing Chen Yihan Sun Xinran Xu."

Similar presentations


Ads by Google