Lecture 9: Ray Tracing & Acceleration Structures (72)
pranavkolluri
My understanding is that a lot of the BVH structure is constructed on the CPU. I assume this is because a lot of this doesn't look parallelizable, but would it be possible to do on GPU as well? (I've seen performance on certain game engines tank when a bvh is used because the cpu becomes a hard bottleneck).
maldenz
Another termination criteria would be depth-based termination: Set a maximum depth for the tree. Once this depth is reached, the algorithm stops splitting, regardless of the number of objects or cost of intersection in a node.
KevinXu02
It is possible to construct BVH on GPU.
https://developer.nvidia.com/blog/thinking-parallel-part-iii-tree-construction-gpu/ might be helpful. I think is it different from the way we construct on CPU, as it do much more useless calculation to make it fully parallel on GPU.
Zzz212zzZ
Since BVH is a tree structure, we can establish this tree not by recursion, i.e., not necessarily computed by CPU.
theflyingpie
What are the considerations when choosing how to partition sets? Additionally, what conditions would contribute to the "ideal" model of minimizing ray intersection costs?
jlutan
What is a more concrete definition of "expected cost of ray intersection"? Is this measurement mostly concerned with the structure/balance of the tree and can it be predicted in advance of partitioning?
My understanding is that a lot of the BVH structure is constructed on the CPU. I assume this is because a lot of this doesn't look parallelizable, but would it be possible to do on GPU as well? (I've seen performance on certain game engines tank when a bvh is used because the cpu becomes a hard bottleneck).
Another termination criteria would be depth-based termination: Set a maximum depth for the tree. Once this depth is reached, the algorithm stops splitting, regardless of the number of objects or cost of intersection in a node.
It is possible to construct BVH on GPU. https://developer.nvidia.com/blog/thinking-parallel-part-iii-tree-construction-gpu/ might be helpful. I think is it different from the way we construct on CPU, as it do much more useless calculation to make it fully parallel on GPU.
Since BVH is a tree structure, we can establish this tree not by recursion, i.e., not necessarily computed by CPU.
What are the considerations when choosing how to partition sets? Additionally, what conditions would contribute to the "ideal" model of minimizing ray intersection costs?
What is a more concrete definition of "expected cost of ray intersection"? Is this measurement mostly concerned with the structure/balance of the tree and can it be predicted in advance of partitioning?