YafaRay (formerly YafRay) is a free and open-source ray tracing program that uses an XML scene description language. There is a YafaRay addon for Blender 2.78. The ray tracer is licensed under the GNU Lesser General Public License (LGPL). History YafaRay's predecessor, YafRay ("Yet Another Free Raytracer"), was written by Alejandro Conty Estévez, and was first released in July 2002. The last version of that program was 0.0.9, which was released in 2006. Due to limitations of the original software design, the YafRay raytracer was completely rewritten by Mathias Wein. The first stable version of the new raytracer, given the name YafaRay 0.1.0, was released in October 2008. The latest stable version is 3.4.1 released in 2020. Features Rendering Global illumination YafaRay employs global illumination using Montecarlo-derived approximations to produce realistically lit renders of 3D scenes. Skydome illumination The illumination system is based mainly on light coming from an emitting sky (see skybox), taking into account soft-shadow calculations involved. The illumination can be obtained from a high-dynamic-range image (HDRI). Caustics YafaRay uses a form of photon mapping that allows for caustics (light distortion produced by reflection or refraction of a curved surface, such as through a burning glass). For simulating somewhat translucent materials, there is a subsurface scattering shader under development. Depth of field Depth of field effects can be produced by using settings for focal distance and aperture. With a fixed point in the scene in focus, objects closer and farther away will be out of focus. Blurry reflections If the material of a surface is not a perfect reflector, distortion arises in the reflected light. This distortion will grow bigger as the reflecting object is taken farther away. YafaRay can simulate this phenomenon of blurry reflections. Architecture Modular framework YafaRay features a modular structure: at the core is a kernel the rest of the render elements (scene loader, lights, and shaders) must connect to. This, together with the specification of an API, allows for the development of rendering plug-ins to enable the use of YafaRay from any program or 3D suite. YafaRay-supported software includes: Blender, Wings 3D, and Aztec. Cross-platform YafaRay was written in C++ for good portability, and there are precompiled binaries for the most common platforms: Linux, Windows and Mac OS X. YafaRay can be used as a stand-alone render engine, using its own scene description format. In this way, it can be used directly from