Skip to main content

YafaRay

v4.0.0

Classic open-source ray tracer with a long history in the Blender rendering ecosystem

Path TracingRay Tracing
C++
LGPL-2.1-only
Maintenance
CPU
Stars
400
Latest Release4.0.0
Release DateFeb 2022
Contributors15
Forks80
At a Glance
Technique
Path Tracing, Ray Tracing
Language
C++
License
LGPL-2.1-only
Platforms
Linux
macOS
Windows
GPU Support
No
CPU Support
Yes
Scene Formats
Yafaray Xml
Output Formats
PNG, JPEG, TGA, HDR, EXR
First Release
Jan 2002
Latest Release
4.0.0 — Feb 2022
Best For
Exploring the history of open-source rendering, projects needing an LGPL-licensed rendering library for embedding, and researchers studying the evolution of Blender rendering integration

Development Activity

Commit activity data is not available for this renderer.

400
Stars
4.0.0
4 years ago
15
Contributors
View on GitHub

Overview

Best for

Exploring the history of open-source rendering, projects needing an LGPL-licensed rendering library for embedding, and researchers studying the evolution of Blender rendering integration

Not ideal for

Production rendering, modern Blender workflows where Cycles and EEVEE are superior in every practical dimension, GPU-accelerated rendering, or active research

Strengths

  • Historically significant as one of the first external rendering engines to integrate with Blender, helping establish the open-source external renderer ecosystem before Cycles existed
  • Multiple integrator options — direct lighting, photon mapping, path tracing, bidirectional path tracing, and SPPM — give users flexibility to trade accuracy for speed depending on the scene
  • LGPL-2.1 license allows linking into proprietary projects without requiring full source disclosure, making it more permissive for embedding than GPL-licensed alternatives
  • Photon mapping and SPPM integrators enable efficient rendering of caustics in glass and water scenes that pure unidirectional path tracers handle less efficiently
  • Restructured as libYafaRay with C and Python bindings, enabling programmatic use as a rendering library independent of any specific DCC application

Limitations

  • Development has largely stalled — the project receives sporadic maintenance updates but no significant new features, and its long-term future is uncertain
  • Blender integration may not work with recent Blender versions (3.x/4.x) as the addon has not kept pace with Blender's rapidly changing Python API
  • CPU-only rendering with no GPU acceleration makes it significantly slower than modern GPU-enabled alternatives like Cycles or LuxCoreRender for complex scenes
  • Smaller community than any other Blender-ecosystem renderer — finding help, tutorials, or community-created content is difficult
  • Material system predates modern PBR standards and lacks features like Principled BSDF or Disney material models that contemporary renderers provide

Background

YafaRay (Yet Another Free Amazing Raytracer) is an open-source rendering engine with roots dating back to the early 2000s. Originally released as YafRay (Yet Another Free Raytracer) around 2001-2002, the project was rebranded to YafaRay in 2008 when the codebase was substantially rewritten. It holds a notable place in rendering history as one of the first external render engines to integrate with Blender, predating the arrival of Blender Cycles in 2011 and helping establish the ecosystem of third-party Blender rendering addons.

The renderer now exists as libYafaRay — a rendering library with C and Python bindings. It offers an unusually diverse set of integrators for its size: direct lighting, photon mapping, unidirectional and bidirectional path tracing, and Stochastic Progressive Photon Mapping (SPPM). This flexibility allows users to trade accuracy for speed depending on the scene. It supports subsurface scattering, volumetric media, depth of field, HDRI environment lighting, and various material models including Glossy and ShinyDiffuse BSDFs. Output formats include PNG, JPEG, TGA, HDR, and EXR.

Development has been sporadic in recent years, maintained primarily by a small number of contributors. While YafaRay's Blender integration was once its primary selling point, compatibility with recent Blender versions (3.x and 4.x) is uncertain as the addon has not kept pace with Blender's rapidly evolving Python API. The project's significance is primarily historical — it demonstrated the viability of external rendering engines in Blender and influenced the ecosystem that Cycles and LuxCoreRender would later dominate.

Quick Start

Visit the repository for installation instructions for YafaRay.

View Repository

Community & Resources

Performance Benchmarks

No benchmark data available for YafaRay yet.

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

Learn about our methodology