New in 0-8 - LuxRender Wiki
Luxrender GPL Physically Based Renderer

New in 0-8

Personal tools

From LuxRender Wiki

Revision as of 17:56, 23 May 2011 by Abel (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Volumetric Scattering

Image by BinaryCortex
Image by BinaryCortex

LuxRender 0.8 introduces volumetric scattering to the object volumes system, which was added in 0.7 for volumetric absorption and to support the glass2 material. In 0.8, this system has been expanded with a new medium type, “homogeneous”.

“Homogeneous” supports all the absorption and refraction features of the older “clear” medium, but also includes support for scattering light within the volume. The color, density, and asymmetry are fully adjustable. With low densities, it can be used for atmospheric effects, such as mist and crepuscular rays. With higher densities, it can be used for raytraced internal scattering, commonly referred to as SSS (subsurface scattering).

Ex. Photon Map

Left: Ex. Photon Map. Right: Bidirectional Path Tracing. Both rendered for 3.5 minutes each (including time to shoot photons.) Image by J the Ninja
Left: Ex. Photon Map. Right: Bidirectional Path Tracing.
Both rendered for 3.5 minutes each (including time to shoot photons).
Image by J the Ninja

After a few false starts, LuxRender 0.8 at last brings a fully functional implementation of PBRT’s “extended photon mapping" (or, "exphotonmap") plugin.

Ex. Photon Map is a spectral, physically-based photon mapping implementation that can, with some tuning, deliver highly realistic images in a comparatively short amount of time. This is the new recommended mode for biased rendering.

Outlier Rejection

Left: Outlier rejection enabled (k=5). Right: no outlier rejection. Both were rendered for 5 minutes. Image by Lord Crc
Left: Outlier rejection enabled (k=5). Right: no outlier rejection.
Both were rendered for 5 minutes. Image by Lord Crc.

Unbiased rendering can often lead to a situation where one sample finds a detail, such as a caustic, but it takes some time for this contribution to average out into the proper result. Until this happens, it results in a “hot spot” or “firefly”, a random bright spot in the image. The user is then stuck waiting for the detail to average out, or give up and attempt to remove it with an image editor.

LuxRender’s new outlier rejection filter is designed to prevent this by detecting and rejecting these bright samples that do not match their surroundings. The rejected samples are stored to aid future detection, in case more like them are found nearby. If this happens, the new samples in that area will not be rejected. The result is that these hot spots are significantly reduced in the output image, while fine details such as caustics are preserved.

Glossy Translucent

Image by JtheNinja
Image by J the Ninja.

The Glossy Translucent material is a combination of the glossy and matte translucent materials, and provides a new way to render things such as skin, leaves and slime. It removes the need to set up a mix material whenever you need something shiny that isn't completely opaque. Like all the other transmissive materials, it can be combined with the new volume scattering system for simple, physically-correct subsurface scattering.

Glossy Translucent also includes an option for having a different roughness and specular color for the side opposite the normal, allowing a single planar mesh to be used for objects such as leaves and textiles.

Texturing Improvements

Image by neo2068
Completely procedural wood grain utilizing the new band texture.
Image by neo2068.

LuxRender 0.8 adds support for object-local and UV-based coordinates for procedural textures, in addition to the global coordinates available in past versions. This prevents animated objects from appearing to "move through" a texture. LuxRender 0.8 also introduces two new procedural texture types, band and multimix.

The band texture allows for complex texture combinations and gradients by defining multiple stops, each of which can itself be a texture. It is an improvement on the regular mix texture, which only allows two stops, at either end of the gradient.

Multimix allows the user to "stack" textures rather than blending them as the mix, scale and band textures do. It is extremely useful for combining an assortment of textures, and it can also be manipulated to work as a kind of "add/subtract node" in complex texture pipelines.

Film Response

Left: "Agfacolor Futurall 400CD" profile. Right: No film response. Image by J the Ninja
Left: "Agfacolor Futurall 400CD" profile. Right: No film response.
Image by J the Ninja

Cameras are designed with a specific, non-linear response to light, designed to create a pleasing image. LuxRender’s new “Film Response” function is designed to mimic this during tonemapping, by loading profiles of various cameras. A set of profiles is built in to LuxRender to get you started, and you can also load your own if you have them.


Microdisplacement Example.png

Image by Moure

Microdisplacement allows for subdivision and displacement of the surface that is calculated on the fly as the ray strikes the surface, rather than prepping it in advance by subdividing the mesh. This allows the user to trade rendering speed for decreased RAM usage.

Microdisplacement works best for details that are too large to do convincingly with a bump map, but too fine to be easily done with traditional displacement without massive RAM usage.

PLY/STL Mesh Loading

Image by J the Ninja
Image by J the Ninja

LuxRender 0.8 can load meshes from a set of binary PLY, binary STL, or ASCII STL files rather than a large ASCII geometry file that it has used traditionally. This can massively reduce disk space for geometry data, and decrease mesh export and loading times. The decreased file size also leads to quicker transmission when using network rendering.

GPU Acceleration

Left: The GPU-accelerated Hybird Path mode. Right: LuxRender's classic path tracer. Both images rendered for 20 seconds. Image by J the Ninja
Left: The GPU-accelerated Hybrid Path mode.
Right: LuxRender's classic path tracer.
Both images rendered for 20 seconds. Image by J the Ninja

LuxRender 0.8 includes a new, GPU-accelerated mode, based on the LuxRays library and tests done with SmallLuxGPU. That is to say, this is the beginnings of “BigLuxGPU”.

GPU acceleration in LuxRender is based on OpenCL and can work with any OpenCL supported graphics card, as well as using a machine’s regular processor.

This mode is still experimental, and does not support all the features of LuxRender, such as bidirectional path tracing or instancing.

Core Improvements

Image by J the Ninja
Image by J the Ninja

Loop subdivision has been improved, and now works without ripping seams in some meshes. This allows you to export the base mesh, or a partially subdivided mesh (to "bake" creases) and let LuxRender subdivide the rest of the way while it loads the mesh.

The Linear Tonemapper has been improved, and now features an "estimate settings" feature which will auto-expose the image to give you a starting point for finding your preferred settings. There is also a new, completely automatic "Auto-Linear" tonemapper as well.

LuxRender 0.8 can also write the FLM file to disk directly, skipping the normal memory buffering in low memory situations. Render nodes can write a copy of the FLM to their disk prior to transmission, as an extra safety net.

The volume integrators have been upgraded to support the new volume system. There is a new "multi" volume integrator for multiple scattering, and the "single" volume integrator now supports just single scattering, as its name implies

GUI Improvements

Image by JtheNinja
Image by J the Ninja

LuxRender 0.8 includes a new "Export to Image" feature that allows you to save the image buffer to one of several formats, including JPG, PNG, EXR, and TIFF. It also has options to save individual light groups as separate images, batch process FLM (film) files into images, and leave a statistics overlay on the output image.

There is a new batch queue system for rendering a set of files, a neater, more useful stats display, and the ability to adjust the refresh interval from GUI. The "clamp method" that LuxRender uses to deal with out-of-gamut values is now adjustable on the fly from the tonemapping panel, and there is a new "advanced" tab for a quick display of the current render settings.

There is now a "solo" option for light groups, allowing all but a select set of light groups to be disabled.There have also been a number of tweaks and cleanups to make the GUI easier to use and more visually attractive.

Support for Blender 2.5 and Autodesk® 3ds Max®

Image by moure
Image by moure

LuxRender 0.8 is the first stable release with support for Blender 2.5 and Autodesk® 3ds Max®, via the LuxBlend25 and LuxMax plugins. The official Windows installer will contain both plugins, LuxBlend25 will be included for Linux and Mac OS X as well.

In addition, LuxBlend for Blender 2.49, LuXSI for Autodesk Softimage®, and Reality for DAZ Studio have been updated with support for LuxRender 0.8.