[Bf-committers] GSoC 2018 BVH8

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


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

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.


More information about the Bf-committers mailing list