RenderKit/embree

Embree ray tracing kernels repository.

What it solves

Intel® Embree is a high-performance ray tracing library designed to improve the performance of photo-realistic rendering applications. It specifically addresses the challenges of production rendering, focusing on incoherent ray performance, high-quality acceleration structure construction, and low memory consumption.

How it works

Embree provides optimized ray tracing kernels for x86 CPUs (supporting SSE, AVX, AVX2, and AVX-512) and Intel GPUs (via the SYCL open standard). It uses runtime code selection to choose the best kernel for the hardware. The library supports a wide range of primitive types, including triangles, Catmull-Clark subdivision surfaces, and various curve primitives. It also implements high-performance two-level spatial index structure construction algorithms to support dynamic scenes.

Who it’s for

Graphics application developers who are building photo-realistic renderers and need a high-performance, hardware-accelerated ray tracing backend.

Highlights

  • Broad Hardware Support: Supports x86 CPUs (Linux, macOS, Windows), ARM CPUs (Linux, macOS), and Intel GPUs (Linux, Windows).
  • Rich Primitive Set: Includes support for triangles, subdivision surfaces, curves, and user-defined procedural geometries.
  • Advanced Rendering Features: Supports motion blur (multi-segment, deformation, and quaternion), ray masking, and multi-level instancing.
  • Flexible Integration: Provides an ISPC interface for automatic vectorization and SYCL support for a single source codebase that runs on both CPUs and GPUs.

Related

  • Dispatch
  • Project
  • Dispatch
  • Project
  • Project