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.
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.
The light importance sampling technique switches sampling of area light sources from uniform to importance based for all relevant area light sources in the scene. This means, that more samples are placed on those 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 when using area lights with emission controlled by a texture, like with light cards or a light dome. The "volumetric" light types generally benefit from this feature as well. 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 enabled with a scene option or on the command line of standalone mental ray. It is not enabled by default because a certain runtime overhead is attached to the estimation of the light contribution in the scene. For relevant scenes this extra work is well compensated by the speed-up 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, 2013 NVIDIA Corporation