[Bf-committers] Cycles + Embree
stewreo at gmail.com
Mon Nov 27 15:43:46 CET 2017
I pushed a new branch to git.blender.org yesterday, cycles_embree. As the name says, this is an integration of the Embree raytracing kernel into Cycles*. If you are interested in building it, you will need version 2.16.1 or newer of Embree, built with EMBREE_RAY_MASK=ON. To avoid self-shadowing with hair, a slightly patched version of Embree is necessary which you can find here: https://github.com/skwerner/embree/tree/cycles_compatible
For now, this is a CPU only feature, and the real benefits from using Embree come into play with scenes using deformation motion blur. Small or static scenes don’t benefit much. Be aware that that not everything renders 100% identical to regular Cycles when enabling Embree: Object motion blur in Embree does not do arc interpolation but only straight linear motion. Curve and line intersections use a different algorithm and therefore render to a slightly different shape.
This branch is still a work in progress - the last few (hopefully just a few) bugs are being ironed out, there are still some known instabilities and memory being wasted. I’m in touch with the Embree authors to see if/when we can use a version of Embree without Cycles specific patches and still get identical results to plain Cycles. It should certainly be possible to use Embree’s BVH data and traverse it in OpenCL and CUDA to get fast deformation blur on GPUs too, but that is still a task I haven’t tackled yet at all (volunteers are welcome).
* As announced in my BCONF17 talk: https://www.youtube.com/watch?v=_2Ia4h8q3xs
More information about the Bf-committers