- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Just wanted to know if the new acceleration structures that are described here (http://rapt.technology/posts/fast-ray-tracing-kernels/) would be beneficial, or if there are already plans to implement CLPT or ORST? Both algorithms are BVH4 and suited for primary and secondary ray types respectively, with the authors showing very impressive results.
Thanks,
Josh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In general ray stream approaches can improve traversal performance due to amortization of memory accesses (over many rays) and control flow. How much you will gain depends largely on the coherence in the stream. Also the renderer has to support ray streams which is probably the biggest issue as the majority of renderers out there still trace a single ray per HW thread. That said I think supporting ray streams makes a lot of sense and as a proof point we added "initial" support for those with Embree 2.9.0.
Both ORST and CLPT are very interesting approaches, however, for the "initial" support in Embree we have chosen a slightly different implementation which plays more nicely with both 4-wide/8-wide BVHs (where the 8-wide BVH is quite faster than a 4-wide BVH for incoherent rays) and smaller streams. At some point we'll have to do some apples-to-apples comparison as all the different methods have different pros/cons but AFAIK not all source code is available yet.
Carsten.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In general ray stream approaches can improve traversal performance due to amortization of memory accesses (over many rays) and control flow. How much you will gain depends largely on the coherence in the stream. Also the renderer has to support ray streams which is probably the biggest issue as the majority of renderers out there still trace a single ray per HW thread. That said I think supporting ray streams makes a lot of sense and as a proof point we added "initial" support for those with Embree 2.9.0.
Both ORST and CLPT are very interesting approaches, however, for the "initial" support in Embree we have chosen a slightly different implementation which plays more nicely with both 4-wide/8-wide BVHs (where the 8-wide BVH is quite faster than a 4-wide BVH for incoherent rays) and smaller streams. At some point we'll have to do some apples-to-apples comparison as all the different methods have different pros/cons but AFAIK not all source code is available yet.
Carsten.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you Carsten for such an informed reply, I'll pull that down with the new release. The work you guys have done looks very promising and I'll look forward to any future development in this area. Cheers, Josh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
NICE
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
nice2
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page