What's new in Version 3.13

Here is a summary of some of the new features and feature improvements in version 3.13 of mental ray. Please refer to the release notes for more details and for other changes which are not mentioned here.

Light Importance Sampling by Default

The Light Importance Sampling optimization technique introduced in the previous version of mental ray is now enabled by default. It gives a significant speed / quality advantage out of the box especially with modern and complex lighting setups, emissive objects, and very many light sources. In addition, new heuristics have been incorporated that automatically determine which light sources in the scene are physically plausible and would benefit from importance sampling. This way, traditional idealized light sources and simple lighting setups can be detected and handled separately, like they may be excluded from importance sampling to retain an overall benefit even though this feature is generally enabled. Custom light shaders are fully supported and will be included in importance sampling if they adhere to physically plausible emission and distribution rules.

With Light Importance Sampling enabled, further optimizations in the rendering core are possible when BSDF based materials are used, referred to as Multiple Importance Sampling. The prior knowledge of both light and material properties allows the renderer to make smarter decisions about the sampling strategy and necessary shading calls, reducing noise and rendering time even more. The Multiple Importance Sampling feature is currently disabled by default. It can be enabled and controlled with string options and on the command line of standalone mental ray.

New Support for MDL Materials

mental ray can now load and render pre-packaged material designs provided in the NVIDIA MDL format. These materials ensure an identical look across its rendering modes: mental ray - CPU, and iray - GPU and CPU.

The NVIDIA Material Definition Language, MDL, is a language specification to describe physically plausible material designs independent of renderers. It is based on common standards like BSDF reflection properties that can be layered to define complex shading models, supplemented with effects like texture mapping, displacement, bump and normal mapping, and cut-outs. The standardized material definition enables sharing and re-use of final material designs across different renderers, or rendering modes. MDL materials can be exchanged with any NVIDIA Iray-based rendering product.

The MDL materials are typically provided as .mdl files organized in a folder like module structure, providing other referenced data like textures. Such files can simply be loaded into mental ray via regular include statements. This will auto-create named scene materials that can be applied to scene instances as usual. Both MDL materials and traditional shaders can be utilized side by side within the same scene and will render smoothly. However, MDL materials are closed entities for mental ray upon loading. Parameter connections to other shaders or other MDL materials are not supported.

New Global Illumination "Next" (Prototype)

This version of mental ray offers a new global illumination engine to compute indirect lighting efficiently, and without the restrictions of the previous experimental solution GI GPU. In particular, it supports motion blur and works well with custom shading effects, like lens distortion and depth-of-field, volume effects, and subsurface scattering. It covers all the indirect lighting features of the traditional Final Gathering approach, like "color bleed" diffuse-diffuse bounces even passing through transparent surfaces or seen in reflections. Caustics are currently not handled. In contrast to the traditional GI implementations, the new engine is utilizing a brute-force algorithm without any caching, to guarantee uncompromising and consistent quality in static images and in animations. This also makes it extremely easy to use.

The new global illumination engine is considered a prototype in this version because it is under continuous development. It currently runs only on CPU, but is planned to take advantage of the GPU going forward. It should work reliably with typical scenes and setups, and with most third-party shaders. It can be enabled and controlled with string options and on the command line of standalone mental ray.

Native Ambient Occlusion Pass, GPU Accelerated

A new, easy to use Ambient Occlusion Pass has been added that automatically computes AO in a separate render pass without the need to manipulate the scene or attach special shaders. This implementation can take advantage of a capable NVIDIA GPU for best possible speed, and otherwise uses the CPU with exactly the same algorithm to create identical results. It can be controlled with string options and on the command line of standalone mental ray.

iray 4

The iray version 4.0 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.

Native UV Tiling

mental ray provides a new and efficient UV Tiling implementation in a new shader mib_tiled_texture. The shader is able to resolve the individual tile texture files automatically by supporting established indexing conventions, like UDIM. It then auto-creates and loads the tile textures into mental ray on demand, making sure that only those tiles that are actually accessed get loaded into memory.

The shader is part of a new package called coreutil, which collects essential mental ray utilities and helper functions for easy integration with third-party systems and external libraries of developing industry standards.

"Deep" Data

mental ray adds support for generating "deep" data and output to OpenEXR files. If the boolean attribute "deep" is set to true on a frame buffer, then the resulting image is saved in DeepTile form of OpenEXR 2.0 file format, storing additional information of the pixel colors along the Z axis. It is possible to save deep and classic data into different frame buffers during the same rendering.

OpenEXR 2.2 Support

The mental ray OpenEXR integration is now based on version 2.2 of the OpenEXR library. It adds new lossy compression modes, called "dwaa" and "dwab". The compression ratio can be controlled, ranging from 45 to 2000, for highest image quality down to most lossy and smallest image size.

New Alembic Features

The mental ray shader for import of Alembic archives has been updated to the latest Alembic library release, and extended with new functions. The support for creation of mental ray "hair" from Alembic's ICurves has been added. Currently, linear segments and cubic curves with a uniform knot vector are supported. Also, custom vertex data on polymesh geometry are now respected. They get attached to the target trilist geometry in mental ray as one of the types color3, color4, point, normal, float, or int, respectively. Shaders may retrieve the values during rendering to create special effects.

Improved Human Hair Shader

The previously introduced Human Hair Shader has been further improved. It now adds contributions from indirect lighting to the shading. New parameters have been added to tune the tube shading look, as well as control the internal color noise effect. Both of these effects are now turned off by default, enhancing the performance and look of the hair when typically rendered at a distance.

Note, there is a new BSDF based version of a hair shader available as part of the Layering package, supporting new features like LPE render passes.

Improved Layering Shaders

The layering shaders have been developed further, and enhanced with new functionality. Its Light Path Expressions, or LPE, are now respecting the new dynamic string attribute "LPE" on mental ray frame buffers, rather than renaming the frame buffer itself, with an impact on final layer names in image files.

New LPE expressions for diffuse, glossy, and specular reflection that is transmitted have been added. A new set of preset phenomena has been created, delivered in the extra file layering_phen.mi. That includes, for example, a phenomenon for realistic hair shading constructed from layering nodes that is inspired by the Marschner hair shading model, called mila_layer_hair. The required hair utility shaders are all contained in the layering package.

Custom Color Profiles

mental ray adds Custom Color Profiles, opening its color management pipeline to third-party developers and integrators. A new type of shader has been introduced making fully programmable color transformations possible while taking benefit of mental ray's established color handling machinery. The existing .mi scene syntax for color profiles on textures and frame buffers is not affected by this change but can simply reference the new vendor profiles by name.

mental ray Dynamic Library

mental ray can now be delivered as a dynamic library instead of an inseparable component built into applications or integration plug-ins. Third-party vendors can guarantee to load only compatible or certified mental ray libraries by using a new authentication mechanism in the mental ray library.

This new delivery model allows to update mental ray core at any time, and independent of updates of the host application. It has other advantages, like avoiding symbol and version conflicts for common dependent libraries like zlib, and the possibility to use different compiler versions and options for building mental ray vs. the applications or plug-ins.

Scene Description Language

The following changes were made in the .mi scene description syntax:

Shader Writing and Integration

Incompatible Changes

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