[Bf-committers] GSoC 2018 BVH8
Brecht Van Lommel
brechtvanlommel at pandora.be
Thu Feb 1 14:47:10 CET 2018
I think it would make sense to look into Embree integration, there's plenty
of work to do there. There's only a small chance we would not end up using
it I expect. Other projects are fine as well, if you prefer something that
is more self contained and doesn't require so much discussion /
On Tue, Jan 30, 2018 at 11:38 PM, Антон Гавриков <
gavrikovantonkapi at gmail.com> wrote:
> 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
> > 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.
> Bf-committers mailing list
> Bf-committers at blender.org
More information about the Bf-committers