What's new in Version 3.12
Here is a summary of some of the new features and feature improvements
in version 3.12 of mental ray. Please refer to the
release notes for more details
and for other changes which are not mentioned here.
Global Importance Sampling
The Global Importance Sampling is a new
advanced optimization technique that allows to render modern and complex
lighting setups much more efficiently without the need to adjust the scene.
It combines the various separate importance sampling techniques into a single
feature, to accelerate lighting and rendering in general.
The new approach is superior to previous attempts because it is able to
distribute samples across multiple lights based on "importance".
This will significantly reduce noise and rendering time, especially for
scenes with a larger number of lights, especially "area" lights. The
optimization is implemented in the rendering kernel so that it works
seamlessly with existing shaders, no code changes are required.
The feature is currently disabled by default. It can be enabled
and controlled with string options and on the
command line of standalone mental ray.
Unified Sampling Flickering Filter
The Unified Sampling filtering scheme has been improved to
avoid flickering artifacts. It improves filtering quality for scenes
with large min/max samples variations, and helps to reduce artifacts
along object edges, very bright but small highlights, and flickering
in animations.
The feature is currently disabled by default, since it imposes
a small memory overhead. It can be enabled and controlled with
string options and on the command line of
standalone mental ray.
Global Illumination GPU
This version of mental ray offers a GPU accelerated implementation of
global illumination effects. In this initial form, the
GI GPU mode speeds up indirect illumination
through diffuse bounces of light, similar to what final gathering typically
computes.
The GI GPU acceleration can be enabled and controlled with
string options and on the command line of standalone
mental ray.
OpenEXR 2.0
This version of mental ray has integrated OpenEXR 2.0, which
provides new features like "multi-part" file storage, and support for
"deep image" formats, among others.
By default, mental ray now writes multiple layers into separate OpenEXR
Parts. By convention, the names of OpenEXR Parts match the names of the
mental ray frame buffers.
The OpenEXR multi-part support can be controlled with a
registry setting, to retain strict backwards
compatibility with previous .exr files.
iray
The iray version 3.5 is a major update
of this rendering mode built into mental ray. It adds support for the
most recent NVIDIA GPU architectures, while retaining compatibility to
previous generations of GPUs. This version also uses the latest CUDA
runtime for best performance. The iray rendering core has been further
optimized towards stability and scalability in multi-GPU and CPU/GPU
setups.
Human Hair Shader
The new shader package basehair provides an implementation of
a hair shading model to render human hair effects very efficiently. Even
though it uses approximations of the complex lighting and scattering effects,
the rendered results prove to be much more realistic than previous solutions
for mental ray.
Improved Layering Shaders
The new shader package layering was introduced in the previous
version of mental ray. The current version has been partially re-worked
and greatly improved towards ease of use, and seamless integration with
mental ray's frame buffer system.
The layering shader package introduces a new way of material
compositing by layering base components, like illumination models and
reflection properties. Commonly used mental ray shaders like architectural
material or subsurface scattering are also provided as standard base layers
in this package.
Scene Description Language
The following changes were made in the .mi scene description syntax:
-
To enable and tune Global Importance Sampling, these string
options with new values are supported:
"light importance sampling" "on"|"all"|"local"|"off"
The values are:
- "on"
- Enable light importance sampling across all area lights in the scene.
- "all"
- Enable light importance sampling across all area and point/spot
lights in the scene. This is useful for scenes with large number of point
lights. However, for scenes with one or few point lights, the value "on" is
recommended.
- "local"
- Importance sampling is applied to each light individually,
with no cross-balancing among the lights. This corresponds to the light
importance sampling performed in the previous version of mental ray 3.11.
- "off"
- Light importance sampling is disabled. This is the default.
The following options are available for further control:
"light importance sampling quality" numscalar[numscalar]
"light importance sampling precomp" on|off
"light importance sampling resolution" numint
On the command line of standalone mental ray these arguments can be used
to override of the scene settings:
-light_is on/off/all/local
-light_is_quality Q [F]
-light_is_precomp on/off
Please see the release notes for more details.
-
To enable and tune the new Unified Sampling Filter scheme,
a new string option is supported:
"unified sampling subfilter" on|off
On the command line of standalone mental ray this argument can be used:
-unified_sampling_subfilter on/off
-
For Global Illumination GPU rendering, these new string options
are supported:
"gpu gi" "on"|"diffuse"|"off"
The values are:
- "on"
- for general GPU acceleration enabled. The diffuse paths
are computed on the GPU, specular sub-paths are computed on the CPU. The
performance gain compared to CPU rendering is moderate, however the rendered
images are of superior quality.
- "diffuse"
- GPU acceleration is enabled, but only diffuse paths are
computed. Performance gain is dramatic, however some scenes may be darker
due to missing illumination from light paths through specular bounces.
- "off"
- GPU acceleration is disabled.
On the command line of standalone mental ray the following argument can be used:
-finalgather gpu
-
For OpenEXR 2.0 multi-part support, the following registry setting
is supported:
registry "{_MI_OPENEXR_MULTI_PART}" value "on"|"off"
If the registry value is set to "off", mental ray creates single-part multi-layer
.exr files, which are compatible with OpenEXR 1.7 (unless other new OpenEXR 2.0
features are used).
Shader Writing and Integration
-
For progressive rendering and iray interactive rendering,
the integration API has been extended with a callback mechanism. Applications
that register the callback will get notified of progressive rendering events
asynchronously, rather than polling the status using the existing API functions.
typedef miBoolean (*miRc_progressive_callback) (
void *data, /* callback data */
miUint subframe, /* subframe count */
miUint what); /* event type */
miBoolean mi_rc_progressive_set_callback(
miRc_progressive_callback callback,
void *callback_data);
Please see the release notes for more details.
-
For Alembic support in the
abcimport
shader, the
binary is now based on the Alembic version 1.5, which adds support for the
Ogawa file backend giving better performance, among others.
Incompatible Changes
-
The new OpenEXR 2.0 multi-part files are not backwards compatible
with tools based on OpenEXR 1.7 or earlier library. Unless the number of parts
is equal to one, such tools would report error on attempt to open the file.
In particular, this applies to previous versions of mental ray 3.11 and earlier,
including the related imf tools coming with those versions.
Copyright © 1986, 2015
NVIDIA ARC GmbH. All rights reserved.