Skip to main content

The architecture of mental ray

Figure 1 shows the standard mental ray architecture.
Figure 1 standard mental ray architecture.


F1: Application scene file: Application proper file. For example, .max (3dsmax), .ma or .mb (Maya), .scn (XSI).

F2: .mi file: mental ray scene description file. If the DCC software has mental ray plugin, or integrates mental ray, they usually support .mi file export. (A2)

1. Application: DCC (Digital contents creation) software. For example, Maya, 3DSMax, XSI, CAD program, and so on.

2. mental ray core: mental ray core program. There are library version mental ray and stand alone mental ray. The library version mental ray is usually invoked by a DCC application via translator module of the application. A translator is a module of a DCC application which translate the DCC application's internal data structure to the mental ray data structure. The stand alone version mental ray reads a .mi file and performs the rendering. If you have only mental ray core, mental ray does not work. mental ray always needs shaders. It might be easier to understand that if you realize the shaders are plugin software.

3. mental ray base shader: mental ray supports these shaders as default. There are basic light sources and basic materials. For example, one of the simplest shader is the Lambert shader.

4. Application shaders: Each DCC application or CAD software has own proper shaders. For example, 3dsMax has 3dmaxshaders, Maya has mayabase shader package.

5. Custom shaders: User defined shaders or special shaders from mental ray (for example, mia_material. In 3dsMax language, it is Design and Architectural shader).

Although this structure is a standard, some application does not tightly communicate with mental ray and uses .mi files.

The important thing of this figure is that mental ray core itself does not work without (either default or special) shaders. Shaders have an impornat role in the standalone mental ray or an integrated mental ray in DCC application. Actually, mental ray can not generate meaningfull images without shaders. (mental ray core still can generate a black image without shaders.)

Comments

Popular posts from this blog

iray 5: iray in standalone mental ray

So far, I told about exporting an mi file. Now here is the shader conversion for iray. iray supports mia_material. To reuse current scenes, it is nice if I could convert the 3dsmax shaders to mia_material (Arch&Design) shader. I could imagine that some of other shaders will be supported also, but, iray is a CUDA program. CUDA has a divergence problem, it means, if many kind of shaders are in the scene, the performance becomes low. That's natural. A shader is a function and many different shaders are running on a CUDA device, I could see it will be slow. But, if the same function everywhere, then CUDA works well. (in theory. If function itself has a lot of branches, then there is a problem. Though many obstacles are there, but many kind of shaders seems to have not so chance. ) Also I imagine there is less trouble if I use the mental images native supported shaders since iray is a new renderer. In my personal opinion, I would convert the shaders. You can find 3dsmax shaders ...

iray 1: iray in standalone mental ray

* As far as I know, we can only run mental images' iray in NVidia's RealityServer. I hope Autodesk 3dsmax/maya/xsi supports iray soon. mental images (a subsidiary company of NVidia) demonstrated iray renderer in GDC's keynote and SIGGRAPH ASIA 2009. GDC NVidia iray demo (YouTube) mental images iray page mental ray or some other renderers can simulate indirect illumination in some extent, but the methods final gather or photon map are quite rough approximation. They have no guarantee to converge to the correct answer. Also there are many renderer parameters for performance optimisation. These parameters heavily depends on the scene. It is difficult to achieve high quality and faster rendering. These methods are anyway time consuming, therefore, we sometimes put invisible light sources by hand, that simulates indirect lights. This iray is a brute force path tracer and there is no renderer parameter, but nowadays computer has not enough power to compute the light tran...