Motion blur is essential for realistic rendering, but it comes at a price; especially on scenes with fast-moving characters featuring hair or fur. Blender 2.90 introduced support for Intel Embree, reducing Cycles render times up to 10 times on production scenes such as the Agent 327 benchmark file. Agent 327 benchmark scene available on cloud.blender.org […]
Motion blur is essential for realistic rendering, but it comes at a price; especially on scenes with fast-moving characters featuring hair or fur.
Stefan Werner — the initial author of the Embree integration in Blender, shares how Embree made its way into Blender.
“When I started working for Tangent Animation in 2017, one of the first requests they had was improving motion blur performance. Sergey Sharybin’s work had already given it quite a boost, but it was still too slow. “
Stefan already had experience with Embree from his previous work at Poser, so he implemented an initial integration.
“Within a few weeks, we had the first tests running with production scenes and were pleased to see that we not only got 2-10x speed improvements, but also were saving significant amounts of memory. From there on, it was only fixing a few loose ends and we were happily using it on Next Gen.”
While Embree has been available in Blender as a build option for over a year, it was not part of the official releases due to some differences in render results with the existing hair intersection code in Cycles.
Brecht Van Lommel took the task of porting Embree’s hair intersection code to the rest of Cycles. Embree 3.7.0 — released at the beginning of 2020, added the same rotation blur that Cycles was using, this was the final step to get them to render identically.