Mental Ray




Mentalray was a long time the one renderer for all. They had a close relationship with Autodesk and were tightly integrated into Softimage, Maya and 3dsMax. For 3dsMax they even had unlimited render licenses, a good deal. And then time went by and no big progress was to see. The developed IRay what was a cool thing for achitecture or product design, but mentalray did not receive much attention. So step by step the users switched to VRay or other renderers. And then came Arnold, a full featued production renderer, fast, easier to use and much easier to extend.

Mentalray now belongs to Nvidia and they tried to follow the trend with simpler interfaces, better materials. But now that Autodesk made Maya completly mentalray independent and even 3dsMax can be installed without it, I fear we will see mentalray disappear from the movie production environments.

The version 3.14 is finally available for Maya. The interesting point was: How will Nvidia handle the large user base working with mentalray in Maya and who want to switch to Maya2017? Well they made an iteresting move. Mentalray is free for UI renderings and single frame renders. So it is similiar to Arnold with the exception that with Arnold you can do sequences from within the UI. Another interesting move is the pricing they offer. You subscribe subscribe for about $995 for five licenses, but if you own a Quadro or Tesla card, you can get these five licenes for only $325 per year. Obviously they want to force the users to buy cards and I will not wonder if the next releases of mentalray will offer more GPU modes, not only for GI calculation. But this better has to be soon if you have a look at the competition.


Since version 3.11, we have some interesting improvements. They try to combine Iray and Mentalray somehow. Iray uses MDL materials (Material Description Language) which can now be used in mentalray as well. They implemented a new material system which uses modular material layers, they call them Mila shaders. They are quite powerful and can be freely layered and can use mulitple importance sampling to converge faster to a clean image. Mentalray can now output deep exr files. They introduced LightPathExpressions what is a smart way to write a broad range of AOV's. They introduces a GPU GI mode to improve the speed of GI samples. They have done a lot to simplify the rendering workflow.

Unfortunately nothing has yet happend concerning volume rendeirng and particle rendering.

Release 3.11:

Finally a german company called link: [0x1] developed a iray intergration for Autodesk Maya. This seems to be a very interesting solution until Autodesk deciedes to implement it for maya themselfs.

In mentalray we have some interesting features and improvements. AO GPU rendering can calculate the ambient occlusion pass on the GPU instead of CPU. IRay in version 3.0 is now compatible with the new Kepler NVidia architecture. Light importance sampling is implemented, what means that area lights can now produce a better result in less time becaus lights are now sampled more in areas where they contribute more to the image. Multiple importance sampling enabes shaders to use importance sampling together with light importance sampling. Now mentalray can handle non linear motion blur. Works for non deforming motion blur only. Even if the new shader layering package is mentioned in the What's new, they are not (yet) part of the official distribution because the package is still in beta and can be accessed via nividia arc forums only.

Release 3.10:

First - the name. I expected to get a 4.0 after the 3.9 release. Mentalray now supports ptex textures. It brings several improvements in unified sampling. Before the data passes like depth channel or pointWorld channels were covered with artefacts, now they appear as expected. Raytracing for hair has been improved, speedup and memory demands are reduced. They now have an alembic geometry shader which is able do directly load alembic files inclusive animation, how cool is that!! Iray has been improved a lot. Now we have native shaders in mentalray. Detail shadow maps have been improved.

Release 3.9 of mentalray brings several improvements.

Finally mentalray is able to render particles nativly. The new particle map format, introduced several versions before is the base of this feature. The particles can be rendered as tubes or spheres. Unfortunatly the current versions of 3d applications don\t use this new feature so it may depend on tird party developers to build appropriate geometry shaders. They improved the motionblur calculation and memory usage. And finally the names of the right and left images in stereo rendering are now settable in the registry settings. Before the correct naming only worked in maya. XSI and 3Dsmax didn\t use the lft_ and rgt_ prefixes and therefore owerwrote the first rendered image. And there was no way to set the prefix names. e.g. nuke expects _left and _right at the end. And who makes a shortcut of lft_ instead of left? Internally they are switching all point data formats to the new 3d map format. A new shader package called userdata is now part of mentalray. It\s goal is to optimize the way user defined data can drive shaders.

Following posts in user forums the speed of FG claculation is slower than before as well as other types of rendering. But other tests give a speedup of several precent. The FG slowdown may the result of the unified map format which is used for fg points. With 3.9 a new sampling interface is introduces, the unified sampling. It serves as new interface for adaptive sampling as well as for rasterizer samples. The new adaptive sampling behaviour allows the sampling of small and thin geometry like hairs in a rasterizer comparable quality. It works a littel bit different and its not exposed in the 3d packages yet. But in maya you can expose the features as well as progressive rendering with the help of string options.

New release 3.8 in maya and 3dsmax as well as the standalone contains serveral new features. The standalone comes with iray, the GPU renderer of mentalimages. It is turned on with a switch in mentalray. Then there is a better support for metaSL shaders and now it is possible to render stereoscopic images in one renderpass. Stereoscopic rendering affects only primary rays, all other are calculated from the center eye. There is a progressive rendering switch wich enables a refinement of the image during rendering. Hair rendering has been improved. For curved hairs, it is now possible to use an adaptive tesselation even if curved hairs in mentalray are quite limited in usage. imf_disp has finally updated so it supports exr files with the ability to show seperate channels and stereoscopic images.

The stereoscopic features are not directly avalialbe in 3d applications like maya or 3dsmax. A geometry shader which enables stereo rendering in maya is available here: link:stereo . Unfortunatly after doing some tests with different scenes I never got a render speedup of more than 5% what is really small. I heard of others getting a improvement of 10% but its still very small. For this reason I hope they improve the feature in the next versions.

The current release 3.7 introduces several new features.

Irridiance particles

The implementation of irridiance partices has been improved. They work primaraly for still renderings.

Native brdf/bsdf support

Map container

The definition of map containers are now more detailed. The documentation still lacks of good examples.

Hair approximation

Fine improvement! Hairs can now have approximation if they have a degree --gt-- 1. This can lead to a better memory behavoiour in rendering. But until they geo away from this awful bezier hair definition, you will have problems to use it.....

Subdivs with cc meshes

Now work with adaptive tesselation. Finally.

Previous releases...

The release 3.6 introduced several new features.


Importons are photon particles shoot from the camera instead from a light. With the help of these photon particles mentalray tries to calculate how important a photon for the illumination of an image is. This leads to a very much lighter photon map and for this reason to a faster rendering because the photon lookup is faster.

Unfortunately they're not easily accessed from any 3d package as of August 2008. Maya 2009 due in October 2009 is supposed to remedy this (it will also be the feature system to feature mentalray 3.7), no doubt other systems will follow shortly.


Irridiance particles are similiar to importons and are a technique to use insted of final gathering. I'm still figuring out what it is good for....


Assemblies are the pendant for the rib archives. Before 3.6 mentalray only allowed the replacement of object nodes, not entire hierarchies. That means if you have a house with ten thousand objects you had ten thousand placeholders. Now it is possible to export the complete house as one file and read it as one file as soon as an ray hits its bounding box. A really great improvement.

New bsp tree

The new bsp2 acceleration is meant to improve speed and memory demands and does not require manual bsp tuning to get the best result!. Thats really cool because I think only a few people modified the bsp tree settings to get an improved result because it is *more an art than an science* (as an old softimage3d manual stated). But now you get the optimization for free.

New subdivision surfaces

Mental ray now is able to render arbitrary polygons as subdivs. Before you had to take care that your model is only with quad or triangles. This is a great improvement.

Light portals

Light portals can direct the finalgather rays in the correct direction where lightsources are. The result is a much better finalgather quality with fewer rays.

Contrast all buffers

It seems that we can now use a different sampling for all framebuffers. In the previous version 3.5.x all bufferes inherited the sampling from the primary buffer. So if you e.g. use a low contrast primary buffer and an other buffer with a higher contrast, the second one gots the sampling from the first one and showed aliasing artefacts. Of course there are ways to avoid this, but a seperate buffer sampling is much more effective.


Why use mental ray

Well if you use XSI you don't have much choice! Its built-in to the 3 major packages (maya max and xsi), so the primary reason to use it is you already have it installed. Today its integration is very good, something you really notice when jumping to another external renderer for the first time.

Its focus has always been on raytracing and photoreal work, so its well suited for commercial and tv vfx work. This has been especially true in the past few years due to the sterling work of 'zap' andersson of mental images, who has created excellent shaders for photoreal work, specifically mia_material, fast_sss and his latest mip_production toolkit.

Nearly all features you would expect of a current renderer can be found in mentalray, most perform quite well. Ambient occlusion, GI, caustics, volume rendering, displacement, motion blur, framebuffers (render-once-get-many-outputs), colour bleeding... Its all there. Nearly any render style from any renderer can be emulated with mentalray, in a reasonable amount of time.

It also features an active development community with many 3rd party shaders available.

Mental images is now owned by nvidia, its implied we'll see GPU acceleration for mentalray in future. While they claim they'll stay platform neutral, its difficult to see why they'd make equal performance between nvidia and ATI hardware, especially if they'll be using technology from the now-dead Gelato project. As such, if you use mentalray you'd be foolish to use anything but Nvidia hardware from now on.

Why NOT use mental ray?

Documentation has always been sketchy, mostly targetting shader writers and pipeline td's rather than end users. Achieving a certain effect or stopping an artifact often means trawling online forums or asking fellow users.

Displacement and motion blur have traditionally been stumbling blocks with mentalray. To get a nice displaced/moblurred image with mr takes effort, whereas with renderman compliant renderers its very easy.

Mentalray often decends into 'magic numbers', more than would seem appropriate. To make nice images in prman means tweaking one number, the shading rate. In mentalray it means adjusting sample settings, contrast threshold settings, approximation editor settings, final gathering settings, lens gamma settings, volume sample settings, area light settings...

One of the big differences between mentalray and renderman is the procedure how objects are tesselated for rendering. In mentalray objects are tesselated as soon as they are hit by a ray, in renderman they are tesselated during the rendering of a bucket. So what? These principles can lead to big problems. E.g. if you need fine displacement in mentalray, you can get it by tuning the approximation editor. But the object will be tessated completly. e.g. imagine a large stormy ocean surface with fine details. The large object will be tesselated in one piece. This can take quite long time and will produce a high polycount. In renderman the tesselation does not take very long because it is done "on the fly" during micropolygon shading in one bucket. This means only the data for one bucket are needed.






Last update: 11.2016