mentalray for Maya 2015 SP2 is now available and provides important fixes around XGen hair rendering, layering shaders, massive assembly scenes, native IBL and more. Here’s a short list of fixes that come with the new mental ray 184.108.40.206 and the new version of the mental ray plugin.
Please, consult the mental ray and the Maya 2015 SP1 and SP2 release notes for the complete list.
XGen The performance of the XGen hair shader has been significantly improved for scenes with dense hair.
Layering shaders (Mila)
Several fixes in the shaders and the UI – namely, possible crash with subsurface scattering initialization, possible NaN values and a too bright contribution of the user IBL environment shader in glossy components, reordering layers with bump or weight connection.
Binary Maya file compatibility with Maya 2014 restored
Some mental ray shader nodes saved in .mb files were not compatible between 2014 and 2015. This is now fixed.
Improved performance of the GPU and multi-CPU rendering, and added support for NVIDIA Maxwell GPUs.
Large scene with assemblies
Fixed possible crash when rendering large scenes with multiple assemblies exceeding physical memory.
Native environment lighting
IPR now automatically updates when changing the new “emit light” features which control the native environment lighting. Fixed brightness difference in IPR versus Render Current Frame.
Recently, we were asked about a not-so-well-known feature to help rendering heavy scenes with mental ray inside Maya, or 3ds Max.
You may skip the introduction and jump down to the setting at the end of this article. For those who are into details, here is a little background.
As you might know, mental ray is based on the concept of “loading on demand”, which helps to cope with huge amounts of data that won’t ever fit into the available memory at once. Buying more memory for your rendering machine will help, but, at the same time, your scene size and texture needs have grown again. Well, typically you should not notice since mental ray takes care of handling these cases automatically. It delays all operations that are memory exhausting or expensive to compute to the latest point in time, and only executes them when really needed to render the current pixel. That is true for scene data, when loading elements from an assembly or Alembic archive, but also for textures, reading and decoding only those textures needed, possibly even keeping just pieces of it in memory, so-called “tiles“. Most importantly, the tessellation of source geometry into triangle data is done on demand only, absolutely critical when working with very detailed displacement. Finally, this mental ray machinery of demand loading is also exposed to shader writers.
Let’s look at mental ray for Maya and its use of this technique for scene translation. Normally, if you do a preview render in Maya (like “Render Current Frame“), the whole scene will be converted to the mental ray database before the actual rendering starts, often referred to as the “translation” step. This will include every scene element independent of its contribution to the rendering of the frame or animation. What is usually OK for most scenarios, might become a bottleneck in extreme situations with many large pieces of geometry or several big chunks of hair, especially if they are not really actively involved when rendering the current view. Like in the example below (a quickly painted cityscape in Maya, but you get the idea)
The usual answer to this problem would be: create a mental ray assembly for those scene parts and reference that in your master scene. But, there is an easier way right from within Maya:
Enable “Render Settings > Options > Translation > Performance > Export Objects On Demand“, as marked below.
What is it doing ?
It does not pre-translate geometry before rendering starts, as it usually does, but delays it to rendering time. The translation just creates so-called “placeholders” – basically bounding boxes around the pieces of geometry – that will trigger execution of the actual translation only when a ray hits that box (or a certain feature is requesting the actual geometry). Because translation becomes very fast it finishes almost unnoticed, so that the Maya progress bar typically starts with “mental ray rendering…” . Leaving the “threshold” setting at 0 (zero) will cause all objects to be demand-loaded, even if tiny. That may be inefficient. Increasing this to a higher number, only those objects with its number of points/vertices beyond the value will be considered for demand loading, the rest gets pre-translated.
Please remember, that in a ray tracing or global illumination context all the objects may be demand-translated immediately anyway even if out of sight! In that case there may be no real benefit using this mode. And, this translation mode has a certain runtime overhead attached to it, so it may pay off only in certain cases, and only with an appropriately chosen threshold.
This setting is saved with your scene. That means, it will also work with “Maya Batch”.
You are working with 3ds Max ? The same feature is available here too, enabled with “Render Setup > Processing > Translator Options > Memory Options > Use Placeholder Objects“, as shown below.
Just give it a try, and leave a comment if you find it useful.
the mental ray Standalone has a similar feature if bounding boxes are given in the .mi file. It is enabled on the command line with:
You can now preview mental ray rendering interactively in 3dsMax: camera navigation, adjustments to light and material parameters, and object creation are immediately reflected in the ActiveShade window using mental ray. The rendering provides an accurate look overtime – just as what you will get in the final frame.
mental ray takes advantage of the ActiveShade improvements that are released with 3dsMax 2015: Many changes are captured more frequently offering finer grain updates. These changes include: viewport navigation, switching between viewports, adjustments to light parameters, and certain other scene changes (Creating, moving, or deleting objects).
In this post, we give a short intro to the newest features of the mental ray for Maya 2015 plugin that is delivered with Autodesk Maya 2015. This is an overview: we will dig deeper into some of the topics on later posts.
Rendering ptex made as simple as possible
We have streamlined the workflow significantly for rendering ptex in Maya 2015. You can simply specify your ptex file in the file node and render. The ptex filter parameters are exposed in the file node. You can render color, as well as scalar and vector displacement, and normal maps.
Support for UV-tiles
UV-tiled images are output from Mudbox, Z-brush and Mari. It’s a gigantic texture that is decomposed into a grid of small textures. The positioning of the tiles is specified by a naming scheme.
Some of you might have used the scripts that are available to render uv-tiles with mental ray for Maya and that create a shader chain to do the placement of all tiles of a uv-tile image. However, now you can render as if it was a simple texture in the regular file node. The user only has to specify the first tile and the naming scheme.
AO GPU exposed
The AO GPU plugin has been a part of mental ray since version 3.11. It allows one to render the AO pass at a very high quality in parallel to the beauty pass. With a recent GPU, the user gets the AO pass for free. AO GPU is now enabled in mentalray for Maya2015 as parameter of the AO render pass.
The new ‘useGPU’ checkbox enables it. You might want to start setting the number of rays to 8 or 16. This usually results in sufficient quality. Please, let us know on our forum http://forum.nvidia-arc.com if you have other experiences.
Native IBL exposed
mental ray’s native environment lighting delivers higher quality at better performance compared to the classical shader based solution. It can now be enabled for image based lighting when you select the ’emitLight’ checkbox in the IBL shape node. The only control that is exposed at the basic level is Quality. Advanced controls expose ‘Resolution’ and ‘Resolution Samples’ to control the building of the acceleration structure, as well as a ‘Color Gain’ control.
Autodesk Maya 2015 provides Xgen for generation of hair, fur and other primitives. The Xgen shader for mental ray allows to render Xgen created content with mental ray.
mila shaders coming with a UI now!
The layering shaders will be discussed in depth in a later post.