Skip to main content

What is mental ray shader?

mental ray shader is C/C++ code that is invoked by the mental ray core when a ray hits an object. The name ``shader'' is used by hysterical reason, I think ``Plugin'' is much better word nowadays. mental ray shader gives us a lot of freedom for users, but, I think we do not need to write a custom shader in most of the cases.

The meaning of 'gives us a lot of freedom' is when a ray hit an object, a user could almost everything by a shader. For example, when a ray hit an object, mental ray can send an email from the shader. (I believe that mental ray designer does not recommended this kind of side effect usage, but, a shader is just a plugin and it should be possible.) You can do anything means also it is difficult to handle the shaders. mental ray was developed for a long time and takes care of backward compatibility, this contributed for its complexity.

Comments

Popular posts from this blog

iray 3: iray in standalone mental ray

How to export mi file from 3dsmax. 1. Assign mental ray renderer as Production renderer First open the Render Set Up dialog. Figure export_mi_1 show that opening the rollout of assign renderer and then choosing the mental ray renderer as Production renderer. Figure export_mi_1 2. Export a mi file from 3dmax. Choose Render Set Up --- Processing Tab. First you need to choose a filename as in Figure export_mi_2. Without a file name, the checkbox of 'Export on Render' is disabled. This was difficult for me. I wanted to export a file, but Export on Render is disabled. I wish I could choose the Export on Render and then see a warning message, ''an export file name is not specified.'' Next, push the Render button, then a mi file is exported. Figure export_mi_2 This is also difficult for me. When you ' export ' a file, push the ' render ' button. I wish it was like   When you ' export ' a file, push the ' export ' ...

iray 4: iray in standalone mental ray

As an example in here, I create one teapot in 3dsmax and assign a mia_material (Arch&Design). Since 3dsmax exports an mi file with 3dsmax shader dependency, mental ray standalone could have a problem to render that mi file. mental ray standalone usually doesn't have 3dsmax shaders. The main advantage of the standalone mental ray is parallel rendering on a render farm. I couldn't tell the legal license of the 3dsmax shaders. For the safe side, if we have no dependency to the 3dsmax shaders, it shouldn't have a problem. (Or you can also install 3dsmax to all the render farm machine, though it doesn't make much sense.) If I just render the mi file from the 3dsmax without modifying, I see the following error. --- > ray -x on -v 5 00teapot_ex00.mi ... LINK 0.0  error  191007: cannot load 3dsmaxhair.dll, The specified module could not be found. ... LINK 0.0  error  191007: cannot load mayabase.dll, The specified module could not be found. ... LINK 0.0...