GSoC/GCI Archive
Google Summer of Code 2010

YafaRay (Yet Another Free Raytracer)

Web Page:

Mailing List:


PD: We have implemented a protocol and a couple of tools for students who are interested in interacting with us ahead of the official application timeframe, as we recommend in our tips for students. For more information, take a look here.

YafaRay (Yet Another Free Raytracer) is a FOSS raytracing engine. Raytracing is a rendering technique for generating realistic images by tracing the path of light through a 3D scene. A render engine consists of a "faceless" computer program that interacts with a host 3D application to provide raytracing capabilities on demand. The YafaRay engine is intended as a free open source alternative to known proprietary engines such as Vray or MentalRay. The YafaRay project was started in 2001 by Alejandro Conty Estévez.

By general request from the Blender Community, YafaRay was added as a Blender plugin in August 2004. YafaRay was rewritten from scratch in 2006 by Mathias Wein to allow for new modern features. The YafaRay project has become through the years the first and most popular GPL raytracer and an important reference for the Blender Community, averaging 10.000 downloads and 40.000 unique visitors a month in 2009.

A picture is worth a thousand words. The YafaRay Gallery is the best definition of what YafaRay does, and explains why it is relevant for many people:

YafaRay Gallery


Room 18 by Xelptic


  • Blender 2.5 Integration with YafaRay Blender 2.50 is much more powerful now than any previous version of blender. And the exporter for YafaRay can give YafaRay users the way to use their favorite renderer right inside the Blender interface. YafaRay has some options that are different from Blender. So the export system will take those extra parameters from the user in a user friendly fashion and can also use the parameters that are common to both Blender and YafaRay. After feeding these data to YafaRay,It can do it's magic.
  • Irradiance Caching In Photon Mapping Integrator Irradiance Caching is a technique for computing global illumination on diffuse surfaces reasonably fast. IC can be used inside Yafaray's two-pass photon mapping algorithm, specifically for improving the speed and quality of indirect illumination on diffuse (Lambertian) surfaces, which is the most costly component to compute in a Monte Carlo ray tracer (this is the case even if we only compute the first bounce of diffuse illumination, like in Final Gather).
  • Microrendering for Scalable Final Gathering The productivity of artists working on high quality photorealistic renders of 3D scenes, especially 3D animations, is limited by the long time to wait for the image to be computed. Microrendering is a novel approach to the final gathering phase of several physically based rendering algorithms that by making use of the massively parallel nature of modern GPUs is able to improve the rendering speed to real time rates.
  • Progressive Photon Mapping Progressive photon mapping is a multi-pass algorithm where the first pass is ray tracing followed by any number of photon tracing passes. Each photon tracing pass results in an increasingly accurate global illumination solution that can be visualized in order to provide progressive feedback.
  • SubSurface Scattering SubSurface Scattering material is very common in daily life, such as jade, marble, and human skin, and a lot of algorithms and models are proposed for rendering this material. However Yafaray still doesn't support this material up to now. So this project will implement subsurface scattering shader for Yafaray, and this shader should work across all Yafaray lighting methods. The main goal of this project is to make user could easily render organic materials, plastics, human skin, etc.
  • YafaRay Exporter or plug-in for Maya YafaRay is used a lot in Blender.But till now YafaRay does not have a formal version for Maya. I'd like to integrate YafaRay and Maya, making YafaRay as an exporter or plug-in for Maya.