Supriya Ghosh (Editor)

YafaRay

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
YafaRay developers

Written in
  
C++, Python

Type
  
Raytracer, plug-in

Development status
  
Active

Operating system
  
Windows, macOS, Linux

YafaRay

Stable release
  
3.2.0 / March 21, 2017; 17 days ago (2017-03-21)

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.

Contents

It 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 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.

Rendering

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.
Caustics
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.

Architecture

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.
Cross-platform
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.

References

YafaRay Wikipedia