YafRay
Encyclopedia
YafaRay is a free
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 illumination
Global illumination
Global 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 Montecarlo
Monte Carlo method
Monte 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 image
High dynamic range imaging
In 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 mapping
Photon mapping
In 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 caustic
Caustic (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-glass
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 surfaces to focus the light...

). For simulating translucent materials there is also a subsurface scattering
Subsurface scattering
Subsurface 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 field
Depth of field
In 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 reflector
Reflection (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 API
Application programming interface
An 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 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...

, Wings 3D
Wings 3D
Wings 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: GNU
GNU
GNU is a Unix-like computer operating system developed by the GNU project, ultimately aiming to be a "complete Unix-compatible software system"...

/Linux
Linux
Linux 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...

, Windows
Microsoft Windows
Microsoft 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 X
Mac OS X
Mac 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 Irix
IRIX
IRIX 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 parallel
Parallel computing
Parallel 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 distributed
Distributed computing
Distributed 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-Ray
    POV-Ray
    The 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.
  • LuxRender
    LuxRender
    LuxRender 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
  • Kerkythea
    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...

    , a freeware rendering program that supports raytracing

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK