YafaRay

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
YafaRay
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.4.1 / April 8, 2020; 5 months ago (2020-04-08)
Repository Edit this at Wikidata
Written inC++, Python
Operating systemWindows, macOS, Linux
TypeRaytracer, plug-in
LicenseLGPL
Websiteyafaray.org

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[edit]

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[edit]

Rendering[edit]

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[edit]

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: GNU/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 the command line, it can be called by a script, etc. There are also provisions for parallel and/or distributed rendering.

See also[edit]

  • POV-Ray, another free raytracer that is quite popular and has a longer history
  • LuxRender, a free unbiased rendering system
  • Kerkythea, a freeware rendering program that supports raytracing
  • V-ray, a commercial rendering engine

External links[edit]