2020-11-28 00:48:08 +01:00
|
|
|
Intel® Embree is a collection of high-performance ray tracing kernels,
|
|
|
|
developed at Intel. The target users of Intel® Embree are graphics
|
|
|
|
application engineers who want to improve the performance of their
|
|
|
|
photo-realistic rendering application by leveraging Embree's
|
|
|
|
performance- optimized ray tracing kernels. The kernels are optimized
|
|
|
|
for the latest Intel® processors with support for SSE, AVX, AVX2, and
|
|
|
|
AVX-512 instructions.
|
|
|
|
|
2022-03-22 21:15:45 +01:00
|
|
|
Note to 32-bit users: This is x86_64 only, due to its use of CPU
|
|
|
|
instructions that don't exist on 32-bit x86 processors.
|
|
|
|
|
2020-11-28 00:48:08 +01:00
|
|
|
Intel® Embree supports runtime code selection to choose the traversal
|
|
|
|
and build algorithms that best matches the instruction set of your CPU.
|
|
|
|
We recommend using Intel® Embree through its API to get the highest
|
|
|
|
benefit from future improvements. Intel® Embree is released as Open
|
|
|
|
Source under the Apache 2.0 license.
|
|
|
|
|
2022-03-13 19:58:41 +01:00
|
|
|
Intel® Embree supports applications written with the Intel® SPMD
|
|
|
|
Program Compiler (ISPC, https://ispc.github.io/) by also providing
|
|
|
|
an ISPC interface to the core ray tracing algorithms. This makes it
|
|
|
|
possible to write a renderer in ISPC that automatically vectorizes and
|
|
|
|
leverages SSE, AVX, AVX2, and AVX-512 instructions. ISPC also supports
|
|
|
|
runtime code selection, thus ISPC will select the best code path for
|
|
|
|
your application.
|
2020-11-28 00:48:08 +01:00
|
|
|
|
|
|
|
Intel® Embree contains algorithms optimized for incoherent workloads
|
|
|
|
(e.g. Monte Carlo ray tracing algorithms) and coherent workloads (e.g.
|
|
|
|
primary visibility and hard shadow rays).
|
|
|
|
|
|
|
|
The single-ray traversal kernels of Intel® Embree provide high
|
2022-03-13 19:58:41 +01:00
|
|
|
performance for incoherent workloads and are very easy to integrate
|
|
|
|
into existing rendering applications. Using the stream kernels, even
|
|
|
|
higher performance for incoherent rays is possible, but integration
|
|
|
|
might require significant code changes to the application to use the
|
|
|
|
stream paradigm. In general for coherent workloads, the stream mode
|
|
|
|
with coherent flag set gives the best performance.
|
2020-11-28 00:48:08 +01:00
|
|
|
|
|
|
|
Intel® Embree also supports dynamic scenes by implementing
|
|
|
|
high-performance two-level spatial index structure construction
|
|
|
|
algorithms.
|
|
|
|
|
|
|
|
In addition to the ray tracing kernels, Intel® Embree provides some
|
|
|
|
Embree Tutorials to demonstrate how to use the Embree API.
|
|
|
|
|
|
|
|
Optional dependency: Intel® Threading Building Blocks (TBB) & Intel®
|
|
|
|
SPMD Program Compiler (ISPC)
|