Interview : Intel Embree

 

Q&A  Intel Embree 

“We don’t expect to see direct integration of Embree’s example renderer into content creation tools. What we will see instead is developers of rendering engines integrating Embree’s ray tracing kernels to speed-up their renderers. It is also possible that developers use Embree’s example renderer as the foundation for a new rendering engine.”

Q1. Could you please give a brief description of Embree?
Embree is a collection of high-performance ray tracing kernels, developed at Intel Labs. Ray tracing kernels are the performance critical part of a renderer. They compute the intersections of rays with the scene geometry. The kernels in Embree are optimized for photo-realistic rendering on the latest Intel® processors with support for SSE and AVX instructions. The target audience for Embree is developers of rendering engines who want to achieve the highest levels of performance by integrating our ray tracing kernels into their applications. Embree provides an example rendering engine to facilitate this process. It is important to note that this example renderer is not intended as a complete rendering solution for end users.


Q2. Source code of Embree is also available. Does it mean that a company can integrate Embree as a 3D render into their software without any fee ? Would it be possible to have Embree render into 3ds max or Blender?
Embree is released under the Apache 2.0 License. This means it can be used without any fee in other software, including commercial applications.
Although possible, we don’t expect to see direct integration of Embree’s example renderer into content creation tools. What we will see instead is developers of rendering engines integrating Embree’s ray tracing kernels to speed-up their renderers. It is also possible that developers use Embree’s example renderer as the foundation for a new rendering engine.

Q3. There are a lot of 3D raytracing engines. What are the benefits of Embree?
Embree is not competing with existing ray tracing engines. The ray tracing kernels in Embree can be integrated into existing and future rendering engines to achieve the highest levels of performance on Intel® CPUs. The kernels in Embree are extremely fast and they are free software.

Q4. When it comes to rendering speed, how Embree compete with its competitors such as CPU rendering engines (Vray, mental ray)?
Embree is not competing with other CPU rendering engines. Developers can integrate the Embree ray tracing kernels into their own renderers to improve performance on Intel® CPUs by up to 2x.

Q5. Does performances increase according the number of cores?
Yes, the speed-up is close to linear.

Q6. What about GPU computing ? Does it make sense to develop a 100% CPU 3D engine today?
Intel Core processors combine the best of Intel CPU and GPU technologies to deliver an excellent visual experience. Developers can choose how to balance their workloads for the best performance and experience. An interesting article on CPU only 3D rendering can be found at:

http://software.intel.com/sites/billboard/assets/pdfs/intel_luxology_brief_final.pdf.

Q7: iRay can take advantage of the extra GPU power, does it mean that iRay will always be faster than a CPU only engine?
No. The performance of CPUs actually very good. It is important though to mind what’s being compared to avoid apples to oranges comparisons. For a fair comparison it’s recommended to compare a single high-end CPU to a single high-end GPU. One of the main advantages a CPU has is that many of these scenes easily fit into the memory of a CPU.

Q8. Can Embree run on an AMD processor?
Embree should run on any CPU that fully supports any of the following instruction sets: SSSE3, SSE4.1, SSE4.2 or AVX.

Q9. Can Embree render animated sequences without artifacts?
The only artifact you get in a Monte Carlo ray tracer is noise. If you use enough samples to compute a converged solution, you will see no artifacts in an animation.

Q10. What kind of light sources can Embree support? Is it also possible to use HDR environment to illuminate a scene?
The example renderer in Embree supports the following light types: point, spot, directional, distant, ambient, triangle and HDR. The renderer is particularly well optimized for HDR environment lights. Additional light types can be easily added with the modular software architecture of Embree.

Q11. Embree can render scene describes as triangles, but is it possible to render volumic effects such as smoke, voxel data ?
No, Embree does not support volumetric effects. This is a good example of a feature that a complete rendering solution for end users would provide, but it is less important for the example renderer in Embree. Software developers will make the decision which features to include in their rendering engines. Embree only provides the performance critical parts – the ray tracing kernels – to make their renderers faster.