View on GitHub

Embree

Photo-Realistic Ray Tracing Kernels

What is Embree?

Embree is a collection of high-performance ray tracing kernels, developed at Intel Labs. The target user of Embree are graphics application engineers that want to improve the performance of their application by leveraging the optimized ray tracing kernels of Embree. The ray tracing kernels are optimized for photo-realistic rendering on the latest Intel© processors with support for the SSE and AVX instruction sets. Embree is designed for Monte Carlo ray tracing algorithms, where the vast majority of rays are incoherent. Embree is not supposed to be used as a rendering engine, it merely contains an example photorealistic renderer with limited capabilities. Embree is released as Open Source under the Apache 2.0 license.

What's New in Embree 1.1?

Embree 1.1 offers new acceleration structures with significantly lower memory consumption: up to 2x during rendering and up to 3x during construction. In addition, the new builders are up to twice as fast as the previous version. To better support movie production rendering, Embree 1.1 adds a new acceleration structures for scenes with motion blur, support for very large models, and improved accuracy for ray/triangle intersection.

Downloading Embree

You can get the latest Embree version 1.1 via git the following way:

$ git clone https://github.com/embree/embree.git embree
$ cd embree
$ git checkout v1.1

Alternatively Embree version 1.1 can also be checked out with subversion:

$ svn checkout https://github.com/embree/embree.git/branches/v1.1 embree
$ cd embree

A ZIP file containing the Embree 1.1 release is available here:

embree-1.1.zip

Compiling Embree

For compilation under Windows use the included Visual Studio 2008 or Visual Studio 2010 solution files.

To compile Embree under Linux and MacOSX you need to install CMake and FreeGLUT. Optionally you should also install OpenEXR and ImageMagick to support reading more image formats. Under MacOSX you can install these dependencies using MacPorts:

sudo port install cmake openexr freeglut ImageMagick

For compilation under Linux and MacOSX use CMake:

$ mkdir bin
$ cd bin
$ cmake ..
$ make

Using the Embree example renderer

Embree provides an example photo-realistic rendering engine. Embree also ships with a few simple test scenes, each consisting of a scene file (.xml or .obj) and an Embree command script file (.ecs). The command script file contains command line parameters that set the camera parameters, lights and render settings. The following command line will render the Cornell Box scene with 16 samples per pixel and write the resulting image to the file cornell_box.tga in the current directory:

./embree -c ../models/cornell_box.ecs -spp 16 -o cornell_box.tga

To interactively display the same scene, enter the following command:

./embree -c ../models/cornell_box.ecs

Embree Resources

Read Article: Embree: Photo-Realistic Ray Tracing Kernels

Embree 1.1 SIGGRAPH Presentation: Embree – Photo-Realistic Ray Tracing Kernels

Participate in Embree Forum Discussion: Embree Forum

Download Imperial Crown of Austria Scene: Crown0413.zip (74MB).

Imperial Crown of Austria Model courtesy Martin Lubich.

Embree Support and Contact

For questions and bug reports please write us at embree_support@intel.com. For information about compiler optimizations, see our Optimization Notice.