YafaRay – an open source raytracing render engine

YafaRay is an open source raytracing render engine.  Ray tracing is a rendering technique for generating an image by tracing the path of light through the 3D scene. This technique tries to reproduce the natural behaviour of light and its particular effects on surfaces, such as reflection and refraction, caustics and indirect lighting.

YafaRay

YafaRay works as a render engine. An engine consists of a ‘faceless’ computer program that interacts with a host 3D application to provide very specific raytracing capabilties “on demand”. Blender 3D is the host application of YafaRay.

By using python scripts, YafaRay takes advantage of the new ID Property mechanism of Blender to retrieve most of the scene data, without adding any custom code to Blender. Other specific parameters are set up by a python-coded settings interface used from Blender.

YafaRay main features are:

Lights:

  • point
  • spot light
  • area light (rectangular, or parallelogram actually)
  • mesh light (uses a triangle mesh as light source)
  • sphere light
  • directional (with optional radius)
  • sunlight (basically a directional with incoming direction sampled from a cone)
  • environment light (background), with importance sampling for efficient image-based lighting (even without GI)

Materials:

  • Multiple materials for a mesh.
  • basic diffuse w. specular reflection, transparency and translucency, support for shader nodes on various properties
  • diffuse+glossy material (Ashikhmin&Shirley), Blinn or anisotropic microfacet distribution w. fresnel effect
  • shader nodes support on diffuse+glossy color, glossiness and bump
  • coated version of the above mentioned, adding specular reflection with fresnel effect (dielectric)
  • basic glass (dielectric) material, with fresnel, filter, absorption and dispersion.
  • emit material
  • export of blender’s texture layers as shader nodes
  • blend material, using a blend value or a texture map.

Mapping:

  • Multiple textures for a shader.
  • UV coordinates.
  • Flat, cube, tube, sphere in global and relative coordinates.
  • Blending modes.
  • Stencil.

Textures:

  • Basic image textures (tga, jpeg, png, exr, hdr),
  • Procedural textures: cloud, marble, wood, voronoi, musgrave, distorted noise and “RGB-cube”.

Backgrounds:

  • Constant.
  • Sunsky generator with sun light and sky light.
  • Texture, Image-based Lighting.
  • Simple gradient.

Cameras:

  • Perspective camera with raytraced DoF.
  • Architect with raytraced DOF.
  • Orthographic camera.
  • Angular camera.

Surface integrators:

  • direct lighting with support for ambient occlusion and caustic photon maps
  • path tracing
  • photon mapping with final gather
  • bi-directional path tracing
  • Volume integrator

Antialiasing:

  • adaptive (simple color threshold based)
  • variable size reconstruction filters (box, gauss and mitchell-netravali currently)

YafaRay is released unce the GNU Lesser General Public License, version 2.1. As an open source project, users and developers have free access to the source code and it is free, as in free speech.

Latest version available for download is YafaRay 0.1.1.