By Warp


2019-03-12 21:33:54 8 Comments

Raytracing a huge bunch of triangles the naive way (ie. testing each ray against every single triangle) would be humongously slow, which is why raytracers use optimizations to greatly reduce the number of ray-triangle tests that needs to be done. The most common optimization is to organize the triangles into a tree-like data structure, such as a kd-tree.

How does Nvidia's RTX technology do this internally? It's my understanding (please correct me if I'm wrong) that it, indeed, also uses a tree data structure for the triangles to be raytraced. My question is which part of the rendering pipeline performs this construction of the tree data structure. Is it done on the application side?

But, more importantly, and this is the crux of my question: How are mesh deformations handled? (In other words, triangles that change shape and/or their relative position to each other within the same mesh object.)

It is my understanding that a tree data structure works wonders when raytracing a triangle mesh... as long as the mesh is completely rigid and doesn't deform. If the mesh deforms (triangles change shape and/or their position in relation to each other) the entire tree needs to be rebuilt (because the changed triangles can well end up in completely different locations in the tree).

RTX demos, and especially BF5, show animated human characters (with eg. their clothes being deformed by wind) being shown in raytraced reflections just fine. How is this achieved? Are the tree data structures recalculated on every single frame, or is this done some other way?

0 comments

Related Questions

Sponsored Content

0 Answered Questions

Does Unreal Engine comply with Nvidia Control Panel settings?

1 Answered Questions

[SOLVED] Intersecting Ray with Extruded 2D Shapes (e.g. Extruded Text)

  • 2012-05-29 21:12:48
  • MĪ±zen
  • 593 View
  • 2 Score
  • 1 Answer
  • Tags:   raytracing

1 Answered Questions

[SOLVED] How does one model the sun in a ray tracer?

4 Answered Questions

[SOLVED] Real-time ray tracing: How is it done?

  • 2012-08-22 06:21:00
  • user3689
  • 1579 View
  • 3 Score
  • 4 Answer
  • Tags:   raytracing

2 Answered Questions

2 Answered Questions

0 Answered Questions

How does QCSAA actually work in nVidia GPUs?

2 Answered Questions

[SOLVED] How does a point squared equal the radius squared?

1 Answered Questions

[SOLVED] Forcing early-z with raytracing

1 Answered Questions

[SOLVED] Ray Tracing concers: Efficient Data Structure and Photon Mapping

Sponsored Content