YafRay
Encyclopedia
YafaRay is a free
, open source
ray tracing program that uses an XML
scene description language. It has been integrated into the 2.49 version of the 3D modelling software Blender
, but requires an exporter for the redesigned 2.5 version of Blender.
It is licensed under the GNU Lesser General Public License
(LGPL).
Skydome Illumination
Caustics
Depth of field
Blurry reflections
Cross-platform
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...
, open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
ray tracing program that uses an XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
scene description language. It has been integrated into the 2.49 version of the 3D modelling software Blender
Blender (software)
Blender is a free and open-source 3D computer graphics software product used for creating animated films, visual effects, interactive 3D applications or video games. The current release version is 2.60, and was released on October 19, 2011...
, but requires an exporter for the redesigned 2.5 version of Blender.
It is licensed under the GNU Lesser General Public License
GNU Lesser General Public License
The GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT 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 illuminationGlobal illuminationGlobal illumination is a general name for a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes...
to produce realistically lit renderings of 3D scenes, using MontecarloMonte Carlo methodMonte Carlo methods are a class of computational algorithms that rely on repeated random sampling to compute their results. Monte Carlo methods are often used in computer simulations of physical and mathematical systems...
-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 imageHigh dynamic range imagingIn image processing, computer graphics, and photography, high dynamic range imaging is a set of techniques that allows a greater dynamic range between the lightest and darkest areas of an image than current standard digital imaging techniques or photographic methods...
.
Caustics
- YafaRay uses photon mappingPhoton mappingIn computer graphics, photon mapping is a two-pass global illumination algorithm developed by Henrik Wann Jensen that solves the rendering equation. Rays from the light source and rays from the camera are traced independently until some termination criterion is met, then they are connected in a...
that allows for causticCaustic (optics)In optics, a caustic or caustic network is the envelope of light rays reflected or refracted by a curved surface or object, or the projection of that envelope of rays on another surface. The caustic is a curve or surface to which each of the light rays is tangent, defining a boundary of an...
(light distortion produced by reflection or transmission such as through a burning-glassBurning-glassA 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 surfaces to focus the light...
). For simulating translucent materials there is also a subsurface scatteringSubsurface scatteringSubsurface scattering is a mechanism of light transport in which light penetrates the surface of a translucent object, is scattered by interacting with the material, and exits the surface at a different point...
shader under development.
Depth of field
- The effects of a focus depth of fieldDepth of fieldIn optics, particularly as it relates to film and photography, depth of field is the distance between the nearest and farthest objects in a scene that appear acceptably sharp in an image...
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 reflectorReflection (physics)Reflection is the change in direction of a wavefront at an interface between two differentmedia so that the wavefront returns into the medium from which it originated. Common examples include the reflection of light, sound and water waves...
, 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 APIApplication programming interfaceAn application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
, allows development of rendering plug-ins, for using YafaRay from any program or 3D suite. Supported suites include BlenderBlender (software)Blender is a free and open-source 3D computer graphics software product used for creating animated films, visual effects, interactive 3D applications or video games. The current release version is 2.60, and was released on October 19, 2011...
, Wings 3DWings 3DWings 3D is a free, 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 its users simply as Wings.Wings 3D is available for most...
and Aztec.
Cross-platform
- YafaRay has been fully developed using C++C++C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
. This makes for good portability and there are precompiled binaries for the most common platforms: GNUGNUGNU is a Unix-like computer operating system developed by the GNU project, ultimately aiming to be a "complete Unix-compatible software system"...
/LinuxLinuxLinux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, WindowsMicrosoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
9x/XP/2000, Mac OS XMac OS XMac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
and IrixIRIXIRIX is a computer operating system developed by Silicon Graphics, Inc. to run natively on their 32- and 64-bit MIPS architecture workstations and servers. It was based on UNIX System V with BSD extensions. IRIX was the first operating system to include the XFS file system.The last major version...
. 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 parallelParallel computingParallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...
or distributedDistributed computingDistributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal...
rendering.
See also
- POV-RayPOV-RayThe Persistence of Vision Raytracer, or POV-Ray, is a ray tracing program available for a variety of computer platforms. It was originally based on DKBTrace, written by David Kirk Buck and Aaron A. Collins. There are also influences from the earlier Polyray raytracer contributed by its author...
, another popular, free ray tracer. - LuxRenderLuxRenderLuxRender is an open source software rendering system for physically correct image synthesis. The program runs on Microsoft Windows, Mac OS X and Linux and exporters are available for Blender, SketchUp, Cinema 4D, XSI, DAZ Studio, and Maya.-Overview:...
, an unbiased rendering system - KerkytheaKerkytheaKerkythea is a standalone rendering system that supports raytracing and Metropolis light transport, uses physically accurate materials and lighting — and is distributed as freeware...
, a freeware rendering program that supports raytracing