AMD publishes solution for an old ray-tracing headache

Real-time ray tracing requires the GPU to determine which surfaces a ray might intersect, and bounding volume hierarchies (BVHs) organize geometry so that search runs efficiently. Static geometry keeps this straightforward, since the renderer builds the acceleration structure once and reuses it. Animation breaks that simplicity: When thousands of objects deform independently, their vertex positions change continuously, and conventional implementations must maintain acceleration structures representing every one of those changing geometry states. Updating them consumes memory capacity, bandwidth, and GPU processing time directly.

AMD Fellow Holger Gruen published the fix on GPUOpen September 17. Instead of continuously modifying dense geometry and its associated BVH, the system encloses that geometry inside a much simpler deformable structure built from tetrahedra. The cage moves; the underlying high-resolution mesh and its acceleration structure stay static and reusable. During ray tracing, the system transforms rays back into the geometry’s original reference frame before testing them against the dense triangle set. Animation cost consequently scales with cage complexity alone, independent of the triangle count the cage encloses, a distinction that matters enormously once a scene contains thousands of independently moving objects.

Read the full story on jonpeddie.com