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.