Skip to main content

Intel Embree

v4.3.3

High-performance ray tracing kernel library providing optimized BVH construction and ray traversal primitives

Ray Tracing
C++
Apache-2.0
Active
CPU
Stars
2.8k
Latest Release4.3.3
Release DateOct 2024
Contributors50
Forks380
At a Glance
Technique
Ray Tracing
Language
C++
License
Apache-2.0
Platforms
Linux
macOS
Windows
GPU Support
No
CPU Support
Yes
Scene Formats
OBJ
Output Formats
PPM
First Release
Jan 2011
Latest Release
4.3.3 — Oct 2024
Best For
Developers building or optimizing ray tracing applications who need the fastest possible CPU ray-scene intersection queries as a foundation for their renderer

Development Activity

Commit activity data is not available for this renderer.

2.8k
Stars
4.3.3
1 year ago
50
Contributors
View on GitHub

Overview

Best for

Developers building or optimizing ray tracing applications who need the fastest possible CPU ray-scene intersection queries as a foundation for their renderer

Not ideal for

End users wanting to render images directly, artists needing a visual workflow, or anyone looking for a complete rendering solution rather than a building block

Strengths

  • Fastest available CPU ray tracing intersection library — hand-tuned ISPC and SSE/AVX/AVX-512 kernels deliver unmatched BVH traversal and intersection performance
  • Used as the acceleration backbone by the majority of serious open source and commercial renderers (PBRT, Mitsuba, Cycles, LuxCore, Arnold, V-Ray, Corona, KeyShot), making it the most influential single project in the ray tracing ecosystem
  • Supports a wide variety of geometry primitives beyond triangles — curves and hair, subdivision surfaces, points and spheres, quads, and user-defined geometries with custom intersection logic
  • BVH-level motion blur support with linear and quaternion interpolation is a rare capability for an intersection library, enabling transparent motion blur in all renderers that use Embree
  • Clean C API with comprehensive documentation makes integration into new rendering applications straightforward

Limitations

  • Not a renderer — Embree computes ray-scene intersections only and does not shade, light, or produce images on its own, requiring a full renderer to be built or used on top of it
  • CPU performance is optimized for Intel architectures via ISPC targeting Intel ISA extensions — functional on AMD CPUs but may not achieve peak vectorized performance
  • GPU support (Embree 4 via SYCL) is experimental and limited to Intel Arc GPUs — not a general-purpose GPU ray tracing solution like OptiX or DXR
  • API is low-level and intersection-focused — users expecting a turnkey rendering solution will find Embree requires substantial application-level code for scene loading, shading, and output
  • Documentation focuses on API reference rather than usage patterns or architectural guidance, making initial integration challenging for developers new to ray tracing

Background

Intel Embree is an open source collection of high-performance ray tracing kernels developed by Intel as part of the oneAPI Rendering Toolkit. Unlike every other entry in the RenderScope catalog, Embree is not a renderer — it is a ray tracing kernel library that provides the fastest available CPU-based BVH (Bounding Volume Hierarchy) construction and ray-scene intersection queries. Applications built on Embree handle all shading, lighting, materials, and image output themselves; Embree provides only the geometric intersection infrastructure.

Embree's performance comes from hand-tuned ISPC (Intel SPMD Program Compiler) kernels and direct SSE, AVX, and AVX-512 vectorization. It supports single-ray, ray packet (4/8/16 wide), and ray stream tracing modes that enable efficient SIMD utilization across Intel architectures. Beyond triangles, Embree handles intersection with quads, curves and hair primitives, subdivision surfaces, points and spheres, user-defined geometries, and more. It natively supports geometry instancing and BVH-level motion blur with linear and quaternion interpolation — capabilities that higher-level renderers inherit transparently.

The impact of Embree on the rendering ecosystem is difficult to overstate. It is used as the ray tracing acceleration backend by PBRT v4, Mitsuba 3, Blender Cycles, LuxCoreRender, appleseed, Intel OSPRay, and numerous commercial renderers including Arnold, V-Ray, Corona Renderer, and KeyShot. This makes Embree arguably the single most impactful open source project in the ray tracing ecosystem — virtually every serious CPU-based renderer either uses Embree directly or competes against it. Embree 4 introduced experimental GPU support via SYCL for Intel Arc GPUs, though the CPU path remains the primary and most mature interface.

Quick Start

Download from https://github.com/RenderKit/embree/releases or build from source with CMake

Community & Resources

Performance Benchmarks

No benchmark data available for Intel Embree yet.

Benchmarks will be added as more renderers are tested across our standard scene suite.

Learn about our methodology