[Bf-committers] GSoC 2018 BVH8

Stefan Werner stewreo at gmail.com
Mon Jan 29 21:39:25 CET 2018



> On 29. Jan 2018, at 21:10, Sergey Sharybin <sergey.vfx at gmail.com> wrote:
> 
>> 4. Extract BVH data from Embree and write GPU traversal code.
> 
> To my knowledge you can provide Embree a custom node/primitive builder
> functions, so not sure what exactly "extract" mean here?

You can, but not with full feature access. There’s no motion blur or OOBB (for hair)
when using the separate BVH builder. To make use of those (IMHO essential) features,
one needs to either use Embree’s own rtcIntersect calls for traversal or extract the
raw BVH data from it like in this sample code:
https://github.com/embree/embree/blob/master/tutorials/bvh_access/bvh_access.cpp

My current implementation is using rtcIntersect, so it’s not using Cycles’ BVH
traversal code at all. To get this to the GPU, we’ll need to port rtcIntersect
to the GPU and extract the necessary data structures from the opaque RTCScene
pointer in order to copy them to device memory.

-Stefan


More information about the Bf-committers mailing list