Page 1 of 1

Status of acceleration structures, What did I miss?

Posted: Fri Jun 05, 2015 10:38 am
by mrluzeiro
I've been away from Raytracing news for a few years.
At that time, kd-trees was the hot topic, then, the Bounding interval hierarchy come with similar? performance..
But now, seems that all my searches lead again to (the old) Bounding Volumes H.
What did I miss?

Re: Status of acceleration structures, What did I miss?

Posted: Fri Jun 05, 2015 11:48 am
by mrluzeiro
I think I found some answers to my own question:

http://www.nvidia.com/docs/IO/77714/sbvh.pdf
In general, highest rendering performance is achieved with kDtrees and bounding volume hierarchies (BVH). Especially BVHs
have recently been attracting increasing attention for several reasons: BVHs are simple to construct, have a low memory footprint,
allow refitting in animations, and work well with packet tracing techniques [Wald et al. 2007]. It has also been found that BVHs
tend to outperform kD-trees on GPU architectures, even for single ray implementations [Luebke and Parker 2008].
Over the last few years, ray tracing efficiency with BVHs has been tremendously improved, but this is almost solely due to novel and
highly optimized traversal algorithms.

Re: Status of acceleration structures, What did I miss?

Posted: Fri Jun 05, 2015 4:03 pm
by toxie

Re: Status of acceleration structures, What did I miss?

Posted: Wed Jun 10, 2015 8:48 pm
by ziu
mrluzeiro wrote:I've been away from Raytracing news for a few years.
At that time, kd-trees was the hot topic, then, the Bounding interval hierarchy come with similar? performance..
But now, seems that all my searches lead again to (the old) Bounding Volumes H.
What did I miss?
Well basically people are using late 1990s top-down BVH construction with binning (the 'novel' twist is using Morton codes to do the binning).
The construction and traversal algorithms take the spatial distribution into account and use more modern SAH so these aren't your 1980s BVHs.

BVH construction with these algorithms parallelizes well on pervasively threaded architectures like GPUs and they are well suited for rigid-body animation. So they are currently winning out. The rendering performance is roughly similar to kd-tree performance on static scenes if you use a high-quality SAH.

You can find a bunch of papers from NVIDIA on the HPG conference about these modern BVH techniques.

AFAIK the construction techniques they use for BVHs, like binning, can actually be used for kd-trees just as well. It's just that kd-trees are more cumbersome for animation.