Features - LuxRender Wiki
Luxrender GPL Physically Based Renderer

Features

Personal tools

From LuxRender Wiki

Jump to: navigation, search

LuxRender is a physically based and unbiased rendering engine. Based on state of the art algorithms, LuxRender simulates the flow of light according to physical equations, thus producing realistic images of photographic quality.

Features overview:

  • Fully spectral, physically-based core.
  • Multiple rendering algorithms, including Kelemen-style metropolis light transport, photon mapping, and direct lighting.
  • Physically-based materials, including realistic simulations of metal, glass and car paint as well as traditional matte and glossy materials.
  • Spectral lighting system, including Gaussian and blackbody color definitions as well as RGB.
  • Light Groups allow for instantaneous preview and calibration of scene lighting.
  • Object-based participating media, for absorption, atmospheric effects, and unbiased multiple scattering (SSS).
  • Perspective, orthographic, and equirectangular cameras, with simulations including motion blur, depth of field, film response, bloom, and glare.
  • High dynamic range CIE XYZ frame buffer, which can be saved to disk to allow renders to be merged and resumed.
  • Built-in job queue and cooperative network rendering.
  • Support for multiple 3D packages, including Blender, Autodesk 3DS Max, DAZ Studio, Google Sketchup, and Autodesk Softimage.
  • Cross-platform with Windows, Linux, and Mac OS X support.
  • 100% free and open source, for both personal and commercial use, licensed under the GNU GPL version 3.


Contents

Physically based, spectral rendering

image by kls

LuxRender is built on physically based equations that model the transportation of light. This allows it to accurately capture a wide range of phenomena which most other rendering programs are simply unable to reproduce. This also means that it fully supports high-dynamic range (HDR) rendering.

The core of Luxrender is fully spectral. Unlike traditional rendering software, which only operates on distinct colors (such as red, green and blue), Luxrender uses individual wavelengths. This allows LuxRender to correctly deal with wavelength dependent effects, such as dispersion, or accurately capture the color of fluorescent lights. It also makes the rendered images look more natural.

Optimised rendering methods

image by kls

LuxRender features various render algorithms. Depending on the kind of scene and whether you're rendering a single image or an animation, choosing the rights algorithm can speed up rendering significantly.

For simple scenes and exteriors path tracing is usually the most efficient method. Bidirectional path tracing combined with Metropolis sampling gives excellent results for interiors and other scenes with complex lighting.

For animation rendering, there is an option for a low discrepancy (quasi-random) sampler that provides simpler noise control between frames.

When speed is more desireable over perfect real-world accuracy, there is also an option for photon mapping.


Materials & Textures

image by J.Peter Lloyd

LuxRender features a variety of material types. Apart from generic materials such as matte and glossy, physically accurate representations of metal, glass, and car paint are present. Complex properties such as absorption, dispersive refraction and thin film coating are available.

All materials can be mixed and modified using textures, even recursively. LuxRender supports both procedural textures and image textures (in common file formats, but also HDR). Most material properties are texturable, and all materials support bump and normal mapping.

Lighting

image by Asbjørn Heid

LuxRender supports emitters and environment light sources. All light sources can be either a constant colour, a texture or a user defined spectrum – for example a blackbody colour temperature. For optimal realism, it is recommended to use meshes emitting light instead of point or spot lights.

Photometric data in the form of IES diagrams can be used to accurately define the light distribution pattern of a light source.

As environment light, one can use a HDR image, a physical sun/sky system, or use distant and infinte lamps as a generic sun and sky. Using light groups, one can interactively adjust the colour temperature of any light source during rendering.


Light Groups

image by psychotron

By using light groups, one can output various light situations from a single rendering, or make adjustments to the balance between light sources in real time. For each light source, intensity and colour temperature can be adjusted on the fly. It is also possible to export the light contributions of each light group as separate passes, as either low or high dynamic range.

Volumes

Image by Eros

LuxRender includes a powerful volume system capable of physically accurate absorption and scattering. Absorption can be defined by wavelengths or spectral tabulated data as well as RGB values, and scattering supports either single or multiple scattering with user-defined asymmetry.

The volume system is object-based, using the mesh as the volume bounds. This allows simple setup for internal volumetric effects, such as subsurface scattering or volumetric color absorption.

The system also allows you to define the volume a ray exits into as it leaves an object. This allows for atmospheric scattering effects, and automatic calculation of relative index of refraction.


Subdivision and Displacement

image by Radiance

Using displacement, detailed shapes and patterns can be rendered with relatively light models. LuxRender supports subdivision, so detailed displacement can be realised on simple meshes.

For fine details, LuxRender also supports micropolygon displacement. This allows displacement to be calculated on the fly as the ray strikes the mesh, rather than performing the calcuations in advance and storing the result in memory. This allows displacement without large memory use.


Queueing and Network rendering

image by Enrico Cerica

LuxRender features support for cooperative cross-platform network rendering. Whether it is on a local network or over the internet, multiple computers can render together, both on animations and on single images. There is no limit on the number of computers that can work together. LuxRender includes a built in system to queue multiple scene files to render in sequence.

Render servers can run a minimised version of luxrender for maximum efficiency, while the whole render farm can be managed easily using LuxRender's graphical interface.


Instances

image by Phil Beauchamp

When working on huge projects with multiple copies of the same object, LuxRender's support for instances will significantly save system resources, in particular memory consumption.


Cameras

image by Radiance

Apart from the ubiquitous perspective camera, LuxRender supports orthographic and environment cameras. Using the orthographic camera, one can easily render a front or top view of a model, which can be very convenient for architects. The environment camera can be used to produce 360° panoramas or to produce HDR environment maps for image based lighting.

Motion Blur, Depth Of Field and Lens Effects

image by J.Peter Lloyd

LuxRender features true motion blur, both for the camera and individual objects. Just animate the camera or object, set the shutter time and you're done. Object movement is described in absolute time rather than simply over the exposure time, allowing real-world control of shutter time and resulting blur strength. Multiple-steps for curved-trail blur is also supported.

By setting parameters such as focus distance, f-stop and number of aperture blades, depth of field can be controlled, including true bokeh.

While your rendering is running, you can add post process effects like bloom, glare, chromatic aberration and vignetting, giving the image a final touch of photorealism.

Tone mapping

Image by moure

Internally, LuxRender stores the result of all light calculations as high dynamic range values. Using either linear or non linear (Reinhard) tone mapping algorithms, these values can be converted to a ordinary low dynamic range image. This process can be influenced in real time, while a histogram aids in finding optimal settings.

To minimise the amount of post processing after finishing the rendering, LuxRender can save the output image in various colour spaces and any gamma.


Image Denoising

1500 S/px: left raw, right denoised

Two noise reduction filters are included in LuxRender: GREYCStoration and Chiu. Using these filters can shorten the time needed to reach your desired render quality.

Fleximage (virtual film)

Fp06 fleximage.jpg

LuxRender's virtual film allows you to pause and continue a rendering at any time. The current state of the rendering can even be written to a file, so that the computer (or even another computer) can continue rendering at a later moment.


Exporters

Fp06 supported 3Dpackages.png

LuxRender is an external rendering program and relies on exporter scripts that export a scene from a 3d modeling program.

Exporter support is available for several 3D packages, including Blender (both 2.49 and 2.5), Autodesk 3ds Max, DAZ Studio, Poser, and Autodesk Softimage.

Because LuxRender's file format is openly documented, any skilled programmer could start writing an exporter for any 3d modeling program.


Cross-platform

Os.png

LuxRender is available for Windows, Linux and OS X.


License

image by J.Peter Lloyd

LuxRender is and will always be free software, both for private and commercial use. It is being developed by people with a passion for programming and for computer graphics who like sharing their work. We encourage you to download LuxRender and use it to express your artistic ideas.

LuxRender is an open source program. The source code of the program is freely available under the terms of the GNU General Public License version 3 as published by the Free Software Foundation.