Area Light Sources

When light sources are modeled with an actual physical shape they resemble the real world more closely, thus can generate more realistic lighting and soft shadows. mental ray supports this with area light sources, which allow to use fixed shape primitives (rectangle, disc, sphere, cylinder) or even custom shapes (shader defined user light, or geometric objects) as a light source with nonzero area. This means that a point on an object may be illuminated by only a part of a light source, which creates accurate soft shadows.

Area light sources are specified in the scene description by naming a primitive in a standard light definition. This way, any of the standard spot and point lights can be turned into an area light source. Infinite light sources ignore any area specifications because the size of a light at infinite distance does not matter, by definition.

There are pre-defined shapes of "planar" area light sources: rectangle and flat disc, as well as "volumetric" shapes like sphere and cylinder. The orientation of the disc and rectangle shape may be chosen independently of the light direction of spot and directional light sources. Any type of light shader can be used, determining the light emission properties over the surface area of the light shape in desired but not necessarily physically based ways.

Emissive Objects 3.11

mental ray also supports to turn arbitrary geometric scene objects into area light sources, also known as emissive objects. A fully customizable version is also available as the user area light. It allows to implement area light behavior for user-defined shapes by using specialized light shaders.

Light Importance Sampling 3.13

The light importance sampling, or LIS, technique switches sampling of physically plausible light sources from uniform to importance based. This means, that more samples are placed on those lights, or parts of the light area, that are "brighter", or "contributing more light", relative to the point being shaded. mental ray takes care of proper balancing of the light emission value according to the probability associated with the sample, to keep the overall illumination untouched. This technique can improve the quality a lot, like for example when using area lights where emission is controlled by a texture, like with light cards or a light dome. Using this scheme typically reduces the amount of noise in the final image, or, vice versa, requires less number of samples, or render time, to achieve a similar quality. This feature can be controlled with scene options or on the command line of standalone mental ray.

3.12 The light importance sampling has been extended to perform importance based distribution of samples across multiple light sources. This can significantly reduce noise and rendering time for scenes with a large number of lights. Finally, it decouples the render time from the number of light sources used in a scene.

3.13 The LIS is enabled by default. mental ray will handle legacy scenes and traditional light sources automatically, and may exclude incompatible lights from the estimation of their light contribution, to avoid the runtime overhead attached to it. For relevant, physically plausible scenes and light emission behavior, this extra effort is well compensated by the speed-up and quality improvements seen in final rendering.

From the perspective of a material shader the common light sampling loop remains the same: a certain amount of light samples is generated for any given dimensional light, and the shader computes an average at the end of the light loop by dividing the accumulated value by the number of samples. No code changes are required in the shader but mental ray takes care of the details. With the help of the new light sampling API, shader writers have the choice to further improve the quality of the light sampling process by combining importance sampling of the material BSDF and the light, hence implementing a form of multiple importance sampling. This implies changing the shader code, although in most cases it means to just use another light iterator class instead of the existing one.

See also Known Limitations.

Copyright © 1986, 2015 NVIDIA ARC GmbH. All rights reserved.