YafRay Next Generation

Dear Yaf dudes:

Last year was a difficult one for YafRay. Original developers did not have more time to collaborate actively in the YafRay development, although Jandro is still collaborating by other (important) means and eeshlo has been involved in the Blender development lately. Blender users were concerned about what YafRay future was going be. At that time, Mathias Wein a.k.a. Lynx3d stepped foward to carry on YafRay development. Nine people out of ten would run away of getting involved in such a disastrous project. A big “thank you” is all we can say.

This article is a “heads up” about what Mathias a.k.a. Lynx is doing ‘in the shadows’. I think that his work deserves a place in Blendernation and our recognition, since YafRay is a substantial part of this comunity. The list of features is taking shape and it looks very promising:

Plugin based (as before), with following classes

  • Lights
  • Materials (new, partially replaces shaders)
  • Shaders
  • Textures
  • Backgrounds
  • Cameras (new)
  • Integrators (new)

Lights

  • Point light
  • Spot light
  • Area light (rectangular, or parallelogramm actually)
  • Mesh light (uses a triangle mesh as light source)
  • Sphere light
  • Directional (with optimal radius)
  • Sunlight (basically a directional with incoming direction sampled from a cone, blurred shadows)
  • Environment light, with importance sampling for efficient image based lighting (even without GI)

Materials

  • Basic diffuse w. specular reflection, transparency and translucency, diffuse color, support for shader nodes on diffuse color
  • Diffuse+glossy reflective material, blinn microfacet distribution w. fresnel effect (isotropic version of Ashikhmin&Shirley), shader nodes support on diffuse color
  • Coated version of the above mentioned, adding specular reflection with fresnel effect
  • Basic glass (dielectric) material, with fresnel, filter and absorption and dispersion

Textures

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

Cameras

  • Perspective camera with DoF, orthographic camera

Integrators

  • basic surface integrators for direct lighting, path tracing and photon mapping with final gather (all under heavy construction!)

Antialiasing

  • Adaptive (simple color threshold based)
  • Variable size box filter (other filters can be added easily though, just laziness)

Other issues

  • Importance sampling, multiple importance sampling etc.
  • Multithreaded rendering passes.
  • Very basic XML writing and reading (using libXML) for scenes.

More info: http://wiki.yafray.org/bin/view.pl/UserDoc/YafaRay

Advertisement