Skip to main content

A note of mental ray/iray camera terminology.


The original mental ray camera is a pinhole camera. Therefore, some of the terminology differs with a normal camera. I will write them down here.

aperture: This is the film width size. This has no relationship with lens aperture/opening. mental ray's camera was a pinhole camera, there is no lens aperture.

focal: This is the distance from lens to the film (sensor). Pinhole camera always focused, so there is no focal length meaning. But using parameters aperture and focal length, we can compute the horizontal field of view. I think these two parameters exist for this purpose.

aspect ratio: This is film(sensor)'s aspect ratio. There is no relationship with pixel resolution and camera geometry.  aspect ratio = film width/film height. Note: If we use aperture, focal, and aspect ratio, we can compute the vertical field of view.

mental ray/iray camera model (pinhole camera) without lens shader


Current mental ray/iray can have depth of field effect, etc., this terminology is confusing. For the depth of field effect, some lens shaders have parameters like lens_radius and focus_plane_distance.

I recommend to read Andy Kopra's Writing mental ray Shaders, chapter 24 to know about the camera model.

By the way, mental images has completely integrated with NVidia. (http://www.mentalimages.com) The name, mental images, has been changed to NVidia ARC (NVidia Advanced Rendering Center).

At this year's SIGGRAPH, NVidia announced they will support the mental images products (http://www.nvidia.com/object/siggraph-2011.html) and enhance the products with more GPU/cloud support. But, it is a bit sad for me that there is no company called mental images anymore.

Comments

Popular posts from this blog

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...

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...

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 ...