[Bf-committers] GSoC 2018 BVH8

Sergey Sharybin sergey.vfx at gmail.com
Mon Jan 29 23:01:18 CET 2018

I do not see any particular reason why Embree can not provide orientation
for the bounding box, or why it can't provide steps for the motion blur.
Surely, then you'll need to implement ray transform to a node space on GPU
(which we already have), and node interpolation (which we can easily
implement). To me it's more like an API limitation, which could be easily

That would save us from keeping GPU's port of rtcImtersect being done every
time something is changed on Embree side?

On Mon, Jan 29, 2018 at 9:39 PM, Stefan Werner <stewreo at gmail.com> wrote:

> > 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’
> 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
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> https://lists.blender.org/mailman/listinfo/bf-committers

With best regards, Sergey Sharybin

More information about the Bf-committers mailing list