From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
A YafaRay rendering of piston engine parts modelled in Blender
A YafaRay rendering of piston engine parts modelled in Blender
Developer(s)YafaRay developers
Stable release
3.3.0 / August 22, 2017; 2 years ago (2017-08-22)
Repository Edit this at Wikidata
Written inC++, Python
Operating systemWindows, macOS, Linux
TypeRaytracer, plug-in

YafaRay is a free, open-source ray tracing program that uses an XML scene description language. It has an addon for the 2.78 version of the 3D modelling software Blender.

It is licensed under the GNU Lesser General Public License (LGPL).


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 YafRay was YafRay 0.0.9, released in 2006. Due to limitations of the original design, the raytracer was completely rewritten by Mathias Wein. The first stable version of the new raytracer, YafaRay 0.1.0, was released in October 2008.



Global Illumination
YafaRay uses global illumination to produce realistically lit renderings of 3D scenes, using Montecarlo-derived approximations.
Skydome Illumination
This illumination system is based mainly on light coming from an emitting sky, taking into account the soft shadows calculations also involved. The illumination can be obtained from a high dynamic range image.
YafaRay uses photon mapping that allows for caustic (light distortion produced by reflection or transmission such as through a burning-glass). For simulating translucent materials there is also a subsurface scattering shader under development.
Depth of field
The effects of a focus depth of field can be reproduced using this feature. With a point in the scene fixed, further objects will be out of focus.
Blurry reflections
If a surface is not a perfect reflector, distortion arises in the reflected light. This distortion will grow bigger as the reflecting object is taken further away. YafaRay can simulate this phenomenon.


Modular framework
YafaRay features a modular structure, with a kernel with which the rest of the render elements connect: scene loader, lights and shaders. This together with an API, allows development of rendering plug-ins, for using YafaRay from any program or 3D suite. Supported suites include Blender, Wings 3D and Aztec.
YafaRay has been fully developed using C++. This makes for good portability and there are precompiled binaries for the most common platforms: GNU/Linux, Windows and Mac OS X. YafaRay can be used as a stand-alone render engine, using its own scene description format. This way it can be used from the command line directly, by a script, etc. There are also provisions for parallel or distributed rendering.

See also[edit]

  • POV-Ray, another popular, free ray tracer.
  • LuxRender, an unbiased rendering system
  • Kerkythea, a freeware rendering program that supports raytracing

External links[edit]