High Performance Ray Tracing
Intel® Embree is a high-performance ray tracing library
developed at Intel which supports x86 CPUs under Linux, macOS, and
Windows; ARM CPUs on macOS; as well as Intel® Arc™ GPUs under
Linux and Windows. Embree targets graphics application developers
to improve the performance of photo-realistic rendering
applications and is optimized towards production rendering. Embree
is released as open source under the Apache 2.0
We strongly encourage users of Intel® Arc™ A-Series Graphics to update the Intel® Graphics Driver to at least version 126.96.36.19944 on Windows.
Current Release: v4.2.0
Starting with Embree 4.2.0 the Intel GPU support through SYCL is no longer in beta phase. Please read documentation section "Embree SYCL Known Issues" for SYCL limitations and section "Upgrading from Embree 3 to Embree 4" for details on how to upgrade to this Embree version.
Hardware accelerated GPU ray tracing
Embree supports hardware accelerated ray tracing on Intel GPUs through the SYCL programming language for excellent GPU rendering performance.
Embree provides highest performance for your CPU renderer by using state of the art high quality data structures and algorithms, parallelized and optimized for modern instruction sets, such as AVX2. Integrating Embree can double the performance of your CPU renderer.
Easy to use
Embree provides an easy to use API and can get integrated into rendering applications by just replacing the ray tracing operation.
Embree provides all features required for professional rendering, including various primitive types (including advanced hair primitives), motion blur, multi-level instancing, etc.
Embree supports Windows, Linux, and macOS, as well as support for x86 CPUs, ARM CPUs, and Intel GPUs
Embree Team receives Scientific & Technical Achievement Award!
The award recognizes Intel® Embree for its geometric rendering in contributing innovation in significant and lasting ways to the moviemaking process.
Award recipients are Sven Woop, Carsten Benthin, Attila Afra, Manfred Ernst and Ingo Wald.
Sr. Director of Intel® Advanced Rendering & Visualization Jim (James L.) Jeffers
Advanced Hair Geometry
Various flavors of hair primitives are supported, including flat, round, and normal oriented curves, all supported with different basis functions, such as linear, Bézier, Hermite, Catmull-Rom, and B-Spline.
The flat curve type is designed to achieve highest rendering performance for distance hair, round curves can be used to render accurate hair closeups, and normal oriented curves are often used to render grass-type geometry.
Choosing a basis function that matches the application allows Embree to share vertex buffers for memory savings.
Embree supports advanced motion blur to render dynamic content. Multi-segment motion blur can be used to render deforming meshes, transformation blur allows to blur entire geometry instances, and quaternion blur allows blurred instance rotations.
An advanced 4D data structure represents spatial and temporal aspects of motion and allows highest levels of performance.
Dynamic scene support allows previews to be rendered interactively. Embree uses morton code algorithms to rapidly rebuild data structures for highly dynamic content.
Multi-level instancing allows rendering of highly complex outdoor scenes with moderate memory usage.
This example show a rendering of the complex Moana Island Scene using instancing accelerated by Embree.
SYCL support makes GPU programming easy
Embree builds on the SYCL cross platform abstraction layer to support hardware acclerated ray tracing on the GPU. Using Embree and SYCL you can write a single renderer in C++, that runs on the both the CPU and GPU with excellent performance. Using C++ as a language simplifies porting existing CPU rendering code and makes programming the GPU easy.