View on GitHub

Intel® Embree

High Performance Ray Tracing Kernels

We recently released Intel® Embree v3.2.3!

Embree Overview

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. 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.

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.

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 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.

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.

Embree Resources

Presentations

Embree Presentation at SIGGRAPH 2018

Embree Presentation at SIGGRAPH 2017

STBVH: A Spatial-Temporal BVH for Efficient Multi-Segment Motion Blur presentation at HPG 2017

Improved Two-Level BVHs using Partial Re-Braiding presentation at HPG 2017

Embree Presentation at SIGGRAPH 2016

Embree Presentation at SIGGRAPH 2015

Embree Paper Talk at SIGGRAPH 2014

Embree Tutorial at SIGGRAPH 2014

Embree 2.0 Presentation at SIGGRAPH 2013

Embree 1.1 Presentation at SIGGRAPH 2012

Blogs / Forum

Read the Embree Blog for more details about Embree.

Participate in Embree Forum Discussion.

Embree Support and Contact

If you encounter bugs please report them via Embree’s GitHub Issue Tracker.

For questions and feature requests please write us at embree_support@intel.com.

To receive notifications of updates and new features of Embree please subscribe to the Embree mailing list.

Version History

New Features in Embree 3.2.3

New Features in Embree 3.2.2

New Features in Embree 3.2.1

New Features in Embree 3.2.0

New Features in Embree 3.1.0

New Features in Embree 3.0.0

New Features in Embree 2.17.5

New Features in Embree 2.17.4

New Features in Embree 2.17.3

New Features in Embree 2.17.2

New Features in Embree 2.17.1

New Features in Embree 2.17.0

New Features in Embree 2.16.5

New Features in Embree 2.16.4

New Features in Embree 2.16.3

New Features in Embree 2.16.2

New Features in Embree 2.16.1

New Features in Embree 2.16.0

New Features in Embree 2.15.0

New Features in Embree 2.14.0

New Features in Embree 2.13.0

New Features in Embree 2.12.0

New Features in Embree 2.11.0

New Features in Embree 2.10.0

New Features in Embree 2.9.0

New Features in Embree 2.8.1

New Features in Embree 2.8.0

New Features in Embree 2.7.1

New Features in Embree 2.7.0

New Features in Embree 2.6.2

New Features in Embree 2.6.1

New Features in Embree 2.6.0

New Features in Embree 2.5.1

New Features in Embree 2.5.0

New Features in Embree 2.4

New Features in Embree 2.3.3

New Features in Embree 2.3.2

New Features in Embree 2.3.1

New Features in Embree 2.3

New Features in Embree 2.2

New Features in Embree 2.1

New Features in Embree 2.0

Acknowledgements

This software is based in part on the work of the Independent JPEG Group.