Previous | Next --- Slide 41 of 50
Back to Lecture Thumbnails
rgrao

It seems that NVIDIA implemented the BVH data structure in hardware to efficiently compute the ray-triangle intersections for raytracing (RT) cores in the latest Turing and Ampere architectures, hence the name RTX. These were supposedly the major enhancements that enabled real-time raytracing. More details can be found here: https://www.anandtech.com/show/13282/nvidia-turing-architecture-deep-dive/3

diegom

Yeah adding to the comment above, NVIDIA has a great overview of ray tracing fundamentals here, where they talk about BVH as a popular ray tracing acceleration structure: https://developer.nvidia.com/discover/ray-tracing

bpopeck

Adding on to this, there is a quote from the whitepaper on Nvidia's Turing architecture that describes how the robustness of BVH made hardware acceleration of ray tracing a possibility:

"All of the optimizations above helped to improve the efficiency of ray tracing, but not enough to make it close to real time. However, once the BVH algorithm became standard, the opportunity emerged to make a carefully crafted accelerator that would make this operation dramatically more efficient. RT cores are that accelerator, making our GPUs 10x faster on ray tracing and bringing ray tracing to real time graphics for the first time."

With hardware acceleration for BVHs, I wonder what the tradeoffs of the different acceleration structures are in practice for real-time ray tracing applications. Maybe scenes with more uniform geometry (e.g. a field with many blades of grass) can be rendered more quickly with hardware-accelerated BVH even though a uniform grid approach may be a more natural fit?

L100magikarp

Going back to the motivating example of speeding up first hit computation for the cow on slide 7, what would the "best" spatial acceleration structure be?

Assuming many geometric queries, I think BVH makes the most sense because the triangles are contiguous, so triangles are likely to intersect multiple nodes if using a K-D tree.