Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Josh_B_
Beginner
106 Views

Plans to implement CLPT and ORST?

Jump to solution

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

0 Kudos
1 Solution
BenthinC_Intel
Employee
106 Views

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.

View solution in original post

4 Replies
BenthinC_Intel
Employee
107 Views

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.

View solution in original post

Josh_B_
Beginner
106 Views

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

utsv_g_
Beginner
106 Views

NICE

utsv_g_
Beginner
106 Views

nice2

Reply