Difference between revisions 955013058 and 955013085 on enwiki

{{Infobox software
| name = YafaRay
| logo =
| screenshot = Engine movingparts.jpg
| caption = A YafaRay rendering of [[piston engine]] parts modelled in [[Blender (software)|Blender]]
| developer = YafaRay developers
| latest_release_version = 3.4.1
| latest_release_date = {{release date and age|2020|04|08}}
| status                 = Active
| programming language   = [[C++]], [[Python (programming language)|Python]]
| operating system       = [[Windows]], [[macOS]], [[Linux]]
| genre = [[Raytracer]], [[plug-in (computing)|plug-in]]
| license = [[GNU Lesser General Public License|LGPL]]
| website = {{URL|yafaray.org}}
}}

'''YafaRay''' (formerly '''YafRay''') is a [[Free and open-source software|free and open-source]] [[Ray tracing (graphics)|ray tracing]] program that uses an [[XML]] [[scene description language]]. There is a YafaRay addon for the 3D modelling and animation software known as [[Blender (software)|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 [[Monte Carlo method|Montecarlo]]-derived approximations to produce realistically lit renders of 3D scenes.

;Skydome illumination
:The illumination system is based mainly on light coming from an [[Light emission|emitting]] sky (see [[Skybox (video games)|skybox]]), taking into account [[Soft shadows|soft-shadow]] calculations involved. The illumination can be obtained from a [[High dynamic range imaging|high dynamic range image]] (HDRI).

;Caustics
:YafaRay uses a form of [[photon mapping]] that allows for [[Caustic (optics)|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 [[Reflection (physics)|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 programming|modular structure]]: at the core is a [[kernel (computer science)|kernel]] the rest of the render elements (scene loader, lights, and shaders) must connect to. This, together with the specification of an [[Application Programming Interface|API]], allows for the development of rendering [[Plug-in (computing)|plug-ins]] to enable the use of YafaRay from any program or 3D suite. YafaRay-supported software includes: [[Blender (software)|Blender]], [[Wings 3D]], and [[Aztec (software)|Aztec]].

;Cross-platform
:YafaRay was written in [[C++]] for good [[Portability (computer science)|portability]], and there are [[Compiler|precompiled]] [[binaries]] for the most common platforms: [[GNU]]/[[Linux]], [[Microsoft Windows|Windows]] and [[Mac OS X]]. YafaRay can be used as a stand-alone [[Rendering (computer graphics)|render engine]], using its own [[Scene description language|scene description format]]. In this way, it can be used directly from the [[command line]], it can be called by a [[Script programming language|script]], etc. There are also provisions for [[parallel computing|parallel]] and/or [[Distributed computing|distributed]] rendering.

==See also==
{{Portal|Free and open-source software}}

* [[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|V-ray]], a commercial rendering engine

==External links==
{{Commons category|YafaRay}}
* {{Official website|http://www.yafaray.org/}}
* [https://github.com/YafaRay Source code]
* [http://yafaray.manojky.net/legacy/index_Rate.php Material Library]
* [http://yafaray.manojky.net Material Search]

{{3D software}}
{{Software in the Public Interest}}

[[Category:3D rendering software for Linux]]
[[Category:Free 3D graphics software]]
[[Category:Free software programmed in C++]]
[[Category:Global illumination software]]
[[Category:Rendering systems]]