YafaRay
   HOME

TheInfoList



OR:

YafaRay (formerly YafRay) is a
free and open-source Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
ray tracing program that uses an
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
scene description language A scene description language is any description language used to describe a scene to a 3D renderer, such as a ray tracer. The scene is written in a text editor (which may include syntax highlighting), as opposed to being modeled in a graphical ...
. There is a YafaRay addon for
Blender A blender (sometimes called a mixer or liquidiser in British English) is a kitchen appliance, kitchen and laboratory appliance used to mix, crush, purée or emulsion, emulsify food and other substances. A stationary blender consists of a blender ...
2.78. The ray tracer is licensed under the
GNU Lesser General Public License The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own ...
(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 In 3D computer graphics, ray tracing is a technique for modeling light transport for use in a wide variety of rendering algorithms for generating digital images. On a spectrum of computational cost and visual fidelity, ray tracing-based rend ...
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 Global illumination (GI), or indirect illumination, is a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes. Such algorithms take into account not only the light that comes directly from ...
using
Montecarlo Monte Carlo (; ; french: Monte-Carlo , or colloquially ''Monte-Carl'' ; lij, Munte Carlu ; ) is officially an administrative area of the Principality of Monaco, specifically the ward of Monte Carlo/Spélugues, where the Monte Carlo Casino is l ...
-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 In computer graphics, photon mapping is a two-pass global illumination rendering algorithm developed by Henrik Wann Jensen between 1995 and 2001Jensen, H. (1996). ''Global Illumination using Photon Maps''. nlineAvailable at: http://graphics.stanf ...
that allows for caustics (light distortion produced by reflection or refraction of a curved surface, such as through a
burning glass A burning glass or burning lens is a large convex lens that can concentrate the sun's rays onto a small area, heating up the area and thus resulting in ignition of the exposed surface. Burning mirrors achieve a similar effect by using reflecting s ...
). For simulating somewhat
translucent In the field of optics, transparency (also called pellucidity or diaphaneity) is the physical property of allowing light to pass through the material without appreciable scattering of light. On a macroscopic scale (one in which the dimensions a ...
materials, there is a
subsurface scattering Subsurface scattering (SSS), also known as subsurface light transport (SSLT), is a mechanism of light transport in which light that penetrates the surface of a translucent object is scattered by interacting with the material and exits the surf ...
shader under development. ;Depth of field :
Depth of field The depth of field (DOF) is the distance between the nearest and the furthest objects that are in acceptably sharp focus in an image captured with a camera. Factors affecting depth of field For cameras that can only focus on one object dist ...
effects can be produced by using settings for
focal distance The focal length of an optical system is a measure of how strongly the system converges or diverges light; it is the inverse of the system's optical power. A positive focal length indicates that a system converges light, while a negative foca ...
and
aperture In optics, an aperture is a hole or an opening through which light travels. More specifically, the aperture and focal length of an optical system determine the cone angle of a bundle of rays that come to a focus in the image plane. An opt ...
. 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 Reflector may refer to: Science * Reflector, a device that causes reflection (for example, a mirror or a retroreflector) * Reflector (photography), used to control lighting contrast * Reflecting telescope * Reflector (antenna), the part of an ant ...
, ''
distortion In signal processing, distortion is the alteration of the original shape (or other characteristic) of a signal. In communications and electronics it means the alteration of the waveform of an information-bearing signal, such as an audio signal ...
'' 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 Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine learnin ...
the rest of the render elements (scene loader, lights, and shaders) must connect to. This, together with the specification of an
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standa ...
, 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 A blender (sometimes called a mixer or liquidiser in British English) is a kitchen appliance, kitchen and laboratory appliance used to mix, crush, purée or emulsion, emulsify food and other substances. A stationary blender consists of a blender ...
,
Wings 3D Wings 3D is a free and open-source subdivision modeler inspired by Nendo and Mirai from Izware. Wings 3D is named after the winged-edge data structure it uses internally to store coordinate and adjacency data, and is commonly referred to by it ...
, and
Aztec The Aztecs () were a Mesoamerican culture that flourished in central Mexico in the post-classic period from 1300 to 1521. The Aztec people included different Indigenous peoples of Mexico, ethnic groups of central Mexico, particularly those g ...
. ;Cross-platform :YafaRay was written in
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
for good portability, and there are precompiled
binaries A binary file is a computer file that is not a text file. The term "binary file" is often used as a term meaning "non-text file". Many binary file formats contain parts that can be interpreted as text; for example, some computer document file ...
for the most common platforms:
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
,
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
and
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
. YafaRay can be used as a stand-alone
render engine Rendering or image synthesis is the process of generating a photorealistic or non-photorealistic image from a 2D or 3D model by means of a computer program. The resulting image is referred to as the render. Multiple models can be defined ...
, using its own scene description format. In this way, it can be used directly from the
command line A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
, it can be called by a
script Script may refer to: Writing systems * Script, a distinctive writing system, based on a repertoire of specific elements or symbols, or that repertoire * Script (styles of handwriting) ** Script typeface, a typeface with characteristics of handw ...
, etc. There are also provisions for
parallel Parallel is a geometric term of location which may refer to: Computing * Parallel algorithm * Parallel computing * Parallel metaheuristic * Parallel (software), a UNIX utility for running programs in parallel * Parallel Sysplex, a cluster of IBM ...
and/or
distributed Distribution may refer to: Mathematics *Distribution (mathematics), generalized functions used to formulate solutions of partial differential equations *Probability distribution, the probability of a particular value or value range of a varia ...
rendering.


See also

*
POV-Ray The Persistence of Vision Ray Tracer, most commonly acronymed as POV-Ray, is a cross-platform ray-tracing program that generates images from a text-based scene description. It was originally based on DKBTrace, written by David Kirk Buck and Aaro ...
, another free raytracer that is quite popular and has a longer history *
LuxRender LuxCoreRender is a free and open-source physically based rendering software. It began as ''LuxRender'' in 2008 before changing its name to LuxCoreRender in 2017 as part of a project reboot. The LuxCoreRender software runs on Linux, Mac OS X, an ...
, a free ''unbiased'' rendering system *
Kerkythea Kerkythea is a standalone rendering system that supports raytracing and Metropolis light transport, uses physically accurate materials and lighting, and is distributed as freeware. Currently, the program can be integrated with any software tha ...
, a freeware rendering program that supports raytracing *
V-ray V-Ray is a biased computer-generated imagery rendering software application developed by Bulgarian software company Chaos . V-Ray is a commercial plug-in for third-party 3D computer graphics software applications and is used for visualizatio ...
, a commercial rendering engine


External links

*
Source code

Material Library

Material Search
{{Software in the Public Interest 3D rendering software for Linux Free 3D graphics software Free software programmed in C++ Global illumination software Rendering systems