Last update: December 6, 2001

First and Second Edition
Corrections | |
|---|---|
Section 4.8, Light Mapping, page 107 | |
| the last parameter of mib_lightmap_write in the scene example should be "input", not "result_sh". |
Section 11.3, Image Formats, page 261 | |
Targa images are written uncompressed, not RLE-compressed | |
Section 18.5, Global Illumination and Caustics, page 366 | |
In the table, the second and third argument of the final gather accuracy row are reversed. It should read | |
Appendix A.4, Image Display: imf_disp, page 438 | |
The section begins with "The image display and flipbook utility imf_copy...". This should read "imf_disp" instead of "imf_copy". | |
Additions that document later versions of mental ray and shaders | ||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A.1, Command line options, page 428 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Added new -echo attributes omit and norecurse, each with a string argument S, and an argument for the explode option: | |||||||||||||||||||||||||||||||||||||||||||||||||
| explode now accepts a numerical argument that specifies that only objects with more vertices than this number should be exploded. This is useful to avoid large numbers of trivial autoload files that would be too small to amortize the overhead of reading a file from disk. Also, the {_MI_EXPLODEPATH} registry entry can be set to replace the {\tt autoload} part of the autoload file names. | |||||||||||||||||||||||||||||||||||||||||||||||||
omit specifies that certain types of elements, specified by S, should be omitted from the output. It is supported by mental ray 3.0 only. Note that both omit and norecurse will produce incomplete and nonrenderable scene files. These options are useful for extracting subsets of a scene. | ||||||||||||||||||||||||||||||||||||||||||||||||||
norecurse specifies that references of certain types of elements specified by S should be omitted from the output. It is supported by mental ray 3.0 only. For example, if S contains icil, instances of cameras and lights would be echoed (unless disabled by omit), but the instanced camera or light would not be echoed first. The S strings of the omit and norecurse attributes are sequences of the following codes: | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Section C.8, Geometry, page 479 | ||||||||||||||||||||||||||||||||||||||||||||||||||
mental ray 2.1.47.38 and 3.0.1 and later come with a base shader library that includes a new geometry shader mib_geo_torus: scalar "radius", scalar "thickness" integer "uSpans", integer "vSpans")
| ||||||||||||||||||||||||||||||||||||||||||||||||||
Appendix D.3, Physics Shaders, page 466 | ||||||||||||||||||||||||||||||||||||||||||||||||||
The "col" parameter of the dielectric material, if set to 0.9, means that 10%, not 90%, of the light is absorbed per unit length of the material. | ||||||||||||||||||||||||||||||||||||||||||||||||||
First Edition Only
Corrections | |
|---|---|
Section 4.1, Color and Illumination, page 46 | |
| On Lambert illumination: "On the side of the object facing the cube, ..." should be replaced with "On the side of the object facing the light source, ...". |
Section 4.4, Bump Mapping, Figure 4.22, page 83 | |
The bump maps are missing. Here is the correct figure:
| |
Section 4.2.1.4, Texture Vectors, page 58 | |
In the first bullet point, shaders accessing nonexisting texture vectors will not get null vectors but random data. mental ray does not (and never did) zero out undefined texture or bump basis vectors for performance reasons. | |
Section 4.4, Bump Mapping, page 82 | |
The top right box of the diagram should be labeled mib_passthrough_bump_map instead of mib_bump_map, and the righmost arrow should begin at the bottom right box and loop through the top right box, not the other way around. | |
Section 4.10, Glossy Reflection, page 112 | |
The last sentence before section 4.1 should say "this is the reflection" instead of "this is the specular reflection". | |
Section 7.5, Caustics, page 167 | |
The second sentence of the last paragraph recommends to set the number of photons, and ends with "or even set to 0 (unlimited)". This part should be removed; 0 means "default", not "unlimited". | |
Section 11.2, Frame Buffers, page 246 | |
z contains depth values: the distance from the camera to the frontmost object. The book incorrectly states that the negative Z coordinate is stored. | |
Section 11.3, Image Formats, page 250 | |
In the second paragraph, it should read "The following table lists readable formats, with the number of components...", not "...number of bits per component...". | |
Section 12.3.2, Surfaces, page 272 | |
The last column of the basis matrix row should say (p-1)s+d+1, not (p+1)s+d+1. | |
Section 17.6, Filename Rewriting, page 341: | |
Environment variable lookups using the registry syntax are specified as ${var}, not {$var}.The example should read ${MI_ROOT}. | |
Section C.7, Mix, page 454 | |
Mode 0 (blend) of the mix shader mib_color_mix is described by the equation R = A . (1 - Ba ) . w + B . w. The closing parenthesis after w in the first line of the equation table was wrong. | |
Additions that document later versions of mental ray and shaders: | |
|---|---|
Section 7.4, Caustic and Global Illumination Lights, page 165 | |
| mental ray 2.1.37.7 and later permit setting the number of stored photons to 0 if a number of emitted photons is also given (second optional argument) in one of the photons statements in the light source definition. mental ray will then emit exactly the number of photons specified without limiting storing. |
Section 7.6.4, Final Gathering, page 181 | |
The last sentence says that only a single ray generation is traced. This is now true only for diffuse rays; specular and glossy rays are now followed to allow final gathering through glass panes or mirrors. Correspondingly, final gathering now supports all of the more general L{D|S|G}{S|G}*D{S|G}*E rays, not only LDDE rays as claimed at the top of page 182. | |
Appendix A, Command Line Options, page 411 | |
mental ray 2.1.36 introduces a new command-line option: | |
Appendix C.2, Texture Space Mapping, page 432 | |
The mib_texture_vector shader in the base shader library shipped with mental ray 2.1.36 adds a new selection space mode 5 for light space, which uses the object space of the light. This is useful in light shaders that need to distinguish their local space (mode 5) from the object space of the illuminated object (mode 1). | |
Appendix C.2, Texture Space Mapping, page 432 | |
The mib_texture_vector shader in the base shader library shipped with mental ray 2.1.36 also adds a new projection mode 7 for lollipop projection, which puts the center of the texture (after texture vector normalization) at X=0.5 Z=1, and the corners at the parameter corners. On a sphere, the texture center is at the north pole and the texture corners are at the south pole, like a lollipop wrapper. | |
Appendix C.2, Texture Space Remapping, page 433 | |
The mib_texture_remap shader in the base shader library shipped with mental ray 2.1.36 adds a new vector parameter offset. The offset is added to the returned vector as the last step of remapping (unlike the translation row of the transform matrix, which is applied early). Offsets allow shifting transformed textures on a surface. | |
Appendix C.2, Bump Mapping, page 436 | |
The mib_bump_map shader in the base shader library shipped with mental ray 2.1.36 adds a new boolean parameter clamp, which prevents bump mapping outside the coordinate range [0, 1). | |

