Is there any intuition for when to use a BVH vs. a K-D tree?
maq
+1 also wondering this
ben_barnett
How significant is the performance difference between each structure in different situations? Would it ever be worth having some initial algorithm just to determine which structure to use, or would that just be more trouble than it's worth?
ak5
second both questions
nphirning
If you're only generating a small portion of a world (say for a game), are there methods for easily extracting which primitives lie in an area centered at a given point? I can imagine an octree structure may help
"We present a performance comparison of bounding volume hierarchies and kd-trees for ray tracing on many-core architectures (GPUs). The comparison is focused on rendering times and traversal characteristics on the GPU using data structures that were optimized for maximum performance of tracing rays irrespective of the time needed for their build. We show that for a contemporary GPU architecture (NVIDIA Kepler) bounding volume hierarchies have higher ray tracing performance than kd-trees for simple and moderately complex scenes. Kd-trees, on the other hand, have higher performance for complex scenes, in particular for those with occlusion."
Is there any intuition for when to use a BVH vs. a K-D tree?
+1 also wondering this
How significant is the performance difference between each structure in different situations? Would it ever be worth having some initial algorithm just to determine which structure to use, or would that just be more trouble than it's worth?
second both questions
If you're only generating a small portion of a world (say for a game), are there methods for easily extracting which primitives lie in an area centered at a given point? I can imagine an octree structure may help
I read this abstract on the web:
"We present a performance comparison of bounding volume hierarchies and kd-trees for ray tracing on many-core architectures (GPUs). The comparison is focused on rendering times and traversal characteristics on the GPU using data structures that were optimized for maximum performance of tracing rays irrespective of the time needed for their build. We show that for a contemporary GPU architecture (NVIDIA Kepler) bounding volume hierarchies have higher ray tracing performance than kd-trees for simple and moderately complex scenes. Kd-trees, on the other hand, have higher performance for complex scenes, in particular for those with occlusion."