[Bf-committers] GSoC 2018 BVH8

Антон Гавриков gavrikovantonkapi at gmail.com
Tue Jan 30 23:38:40 CET 2018


 Hello,

So, should I look in the direction of Embree integration according to these
points?

1. Update to Embree 3.0.0, of which a first beta was just released. This
> should allow us to build with an unpatched Embree.
> 2. If we decide that it’s needed, implement a solid line segment/cylinder
> primitive for Embree. Embree has flat (ribbon) line segments, flat curves
> and solid curves but not solid cylinders.
> 3. Reduce the amount of duplicated data. Ideally, Cycles keeps all the
> geometry data in its own buffers and Embree accesses it directly through
> pointers. That may require resolving race conditions in interactive
> rendering.
> 4. Extract BVH data from Embree and write GPU traversal code.
> 5. Find out if it’s possible in the latest Embree to do quaternion
> interpolation of motion transforms - the 2.x versions are still limited to
> linear straight interpolation. If this isn’t there, motion blur quality
> will degrade.
>
> Once parity is reached, there are several features in Embree that could
> improve Cycles. Some of these may not work with the GPU:
> 6. Using Embree’s ray stream API for the CPU split kernel.
> 7. Embree’s built-in displacement.
> 8. Embree’s quad primitive.
> 9. Compare Embree’s subdivision implementation to Cycles’ and use it if
> it’s better. The on-demand cache could help reduce memory usage at the
> expense of performance.
>

Or for now it is worthwhile to think about other projects from the list
before clarifying the details about the future of Embree.

Regards,
Anton.


More information about the Bf-committers mailing list