Mai-Tai Globals

This document describes the Mai-Tai Globals dialog box, where options may be set to control the way Mai-Tai exports a scene and how it will ultimately be rendered.

There is some redundancy between Mai-Tai Globals and Maya's Render Globals, Render Quality, and Render Resolution.  There's any easy rule for resolving ambiguities: Mai-Tai always ignores Maya's Render Globals, Render Quality, and Render Resolution.

Mai-Tai gets other rendering information from the Maya objects themselves.  This is described in another document.


The Mai-Tai Globals dialog is launched by selecting "Globals..." from the Mai-Tai menu:

The globals are organized into six tabs.  Each tab will be described in turn below.

Camera tab


Render From Camera

Selects which view(s) will be exported for rendering.  The default is the active view.  This is whatever view is currently being used in the Maya interface.  Other Maya cameras will be listed in the drop down box under "Active".


Select the X and Y resolution here.  The default is a thumbnail 320x240.  If you have a demo version of RenderDotC, resolution may be limited to 256x256.

Pixel Aspect Ratio should nearly always be 1.0 unless rendering specifically for a printer or other device with rectangular pixels.

Crop Window

To render just a sub-rectangle of the entire image, change the crop settings.  The default is to render the full resolution frame.  Crop windows are sometimes used for testing or to split up a frame for distributed rendering.

Motion Blur

If the box is not checked, no motion blur will be exported.  If the box is checked, some motion blur may occur.  Mai-Tai infers motion from changes in consecutive frames of animation.  If only one frame is being rendered, then there's still no motion blur.

Both transformational and deformational blur are supported.  Furthermore, the camera motion itself may be blurred.  Be sure to set the attributes of the Maya camera accordingly.

Shading tab

Shades per pixel

The more shades per pixel, the higher the image quality but the slower the rendering time.  The default value of 1 is often good enough.  For final renderings, 4 may be appropriate.

For those familiar with RenderMan, shades per pixel is the reciprocol of ShadingRate.

Gouraud shading

When shades per pixel is 1 or more, flat shading is usually good enough.  For fewer shades per pixel, Gouraud shading may be turned on to smooth the color variation over larger surface elements.

Binary dicing

Checking this can sometimes eliminate patch cracking.

Shadow bias

If these numbers are too small, surfaces will self-shadow, causing a moire pattern of gray spots across the unshadowed surface.  If the bias is too high, shadows may look "detached" from the objects that are casting them.

The actual bias value is chosen stochastically between bias 1 and 2.  The values may be set equal to each other.

Maximum grid size

This tunes a time/space tradeoff.  A large grid size will consume more memory but potentially run faster.  Usually set in conjunction with bucket size.  A good rule of thumb is that grid size should be no larger than the product of shades per pixel, X bucket size, and Y bucket size.

Eye splits

Specifies the maximum number of times a primitive straddling both the eye plane and near clipping plane will be subdivided before it is discarded.  A primitive that starts completely on the far side of the near clipping plane but is motion blurred through the eye plane can never be totally resolved by splitting it.  A higher number potentially retains more geometry but spends more resources on primitives that cannot be resolved.  A good alternative is to increase the distance to the near clipping plane.

Allow backface culling

When checked, Maya primitives that are not marked Double Sided will undergo backface culling.  The parts of the primitive that face away from the camera will be discarded early in the rendering pipeline.  This can substantially improve rendering time.  It is most appropriate for opaque, convex surfaces that enclose a volume.

Export as NuCurves

Maya curves are modeled as non-uniform (i.e. with explicit knot vectors.) RenderDotC has a primitive called NuCurves with all of the same flexibility. Some other RenderMan-compliant renderers only support the uniform Curves primitive. For these renderers, Mai-Tai can approximate Maya's curves with uniform curves. If your renderer supports them, NuCurves guarantee that the curves will appear the same in Maya and RenderMan.

Imaging tab


This selects the hidden-surface algorithm used by the renderer.  The default, "Hidden", selects the renderer's primary hidden-surface algorithm.  "Paint" draws primitives in the order they are defined.  If the renderer's default algorithm is not Z-buffer, one may explicitly request this algorithm with "Z-Buffer".

Samples per pixel

Sets the hider sampling rate in the horizontal and vertical directions.  Increasing samples per pixel can improves anti-aliasing, especially when used with motion blur and/or depth of field.  On renderers with separate shading and sampling, increasing samples per pixel incurs less of a performance penalty than does increasing shades per pixel.  Samples per pixel should never be less than the corrseponding shaders per pixel.


Controls the type of filter applied to samples at pixel locations.  Choices include Gaussian, Box, Triangle, Catmull-Rom, Sinc, Bessel, and Disk.

Filter widths

Specify the with and height of the filter in pixels.  A value of 1 indicates a filter support that is one pixel wide.


Controls the sensitivity of the exposure process.  Color components are multiplied by gain.


Controls the non-linearity of the exposure process.  After being multiplied by gain, color components are raised to the power (1 / gamma).

Bits per channel

Specifies the number of bits to use when quantizing color components from real numbers to integers.  A typical display has 8 bits per channel (8 each for red, green, and blue, for a total of 24).  Values then range from 0 to 255.  For high quality compositing, 16 bits per pixel may be more appropriate.

Bits for 1.0

When quantizing color components from real numbers to integers, 0.0 goes to 0 and 1.0 often goes to the maximum value but it doesn't have to be that way.  To capture extended "headroom" above white, set this to a number less than bits per channel.  A common configuration when rendering for Cineon is to set bits per channel to 16 and bits for 1.0 to 12.  Then 1.0 maps to 4095 and 16.0 maps to 65535, the maximum.

Render to

Controls whether final frames are rendered to the framebuffer or to TIFF files.  Environment and shadow maps are rendered first and always go to files.

Bucket size

To better manage memory, some renderers divide the raster into rectangular areas known as buckets.  Bucket sizes are specified in pixels.  Larger buckets consume more memory, but may reduce rendering time.

Preview tab

Use texture maps


Do shadow mapping

Causes Mai-Tai to automatically generate depth maps for each light in the scene marked to cast shadows.  Only objects that are also marked to cast shadows will be rendered into the depth maps.  Distant lights generate one orthogonal projection map file.  Point and spot lights may generate up to six perspective maps.  Shadow passes are always performed before the main rendering pass.

Do environment mapping

Causes Mai-Tai to automatically generate environment maps for each object in the scene for which the object attribute "Environment Map" is checked. Each such object results in six perspective maps being pre-rendered and assembled into a cube face environment map. Environment passes are always performed before the main rendering pass.

Keep existing frames

Tells Mai-Tai to not rerender a frame if the TIFF file already exists in the output directory. This checkbox is ignored for any frame to be rendered to the framebuffer.

Reuse existing maps

Causes Mai-Tai to skip pre-render passes for generating environement and/or shadow maps if those map files already exist.

Selected objects only


Selected lights only


Animation tab

Use Time Slider

When checked, only the frame currently selected in Maya's time slider will be exported. This effectively turns off animation. When unchecked, multiple final passes are generated by Mai-Tai in the manner described by the following globals. The resulting frames may be assembled to form an animation. The frames between first frame and last frame, inclusive, will be generated. If increment by is greater than 1, Mai-Tai will skip through the sequence this many frames at a time.

Rendering order

Can be Sequential or Binary. Sequential means in order from lowest to highest frame number. Binary jumps around the sequence to equally represent frames throughout the shot. This can be useful to preview shots at lower frame rates while waiting for the "in-between" frames to finish rendering.

Reference frame


Files tab

RIB directory

The directory where RIB files generated by Mai-Tai will be stored. If left blank, the default directory for RIB output is the current working directory. On Windows, that's \WINNT\Profiles\UserName\maya\projects\default\scenes. On Irix, it's the current directory when Maya was started.

RIB name

When Mai-Tai is instructed to Save RIB, this is the base name of the file that will be generated. The base of the RIB name will also be used when naming environment and shadow maps and RIB archive files.

Unique RIB name

Choose a unique name for the RIB file that doesn't collide with any other RIB files in the output directory.

RIB structure

Choosing Single File will export all frames to one big RIB file. File Per Frame will use one RIB file for each frame. ReadArchive is like File Per Frame except each geometric primitive will be written to its own RIB archive file. The main RIB file for the frame will include archive files using ReadArchive. DelayedReadArchive is the same as ReadArchive except the main RIB file will only load RIB archive files on demand when the bounding box of the primitive is visible. Both ReadArchive and DelayedReadArchive can save disk space by sharing static primitives across multiple frames. They also save RIB generation time by not regenerating RIB archive files that haven't changed since last exported.

Binary RIB

Causes RIB that is output from Mai-Tai to use the RenderMan binary encoding. The default is to use the ASCII encoding.

Gzipped RIB

Causes output RIB to be compressed with the "gzip" scheme.  RIB produced this way may be decompressed later using "gunzip".  Not all renderers can directly read RIB that has been gzipped.  Another utility called "gzcat" can be used to pump decompressed RIB to such renderers.  For maximum compression, use in conjunction with binary RIB.

Image Output Directory

Specifies the directory to create image files such as TIFF.

Image File Name

Specifies the name of the image file to create. If left blank, the file name of the image will be based on the root name of the RIB file.

Shader Path

Colon-delimited search path for RenderMan shaders.

Texture Path

Colon-delimited search path for texture maps.

Delete temporary RIB

Causes Mai-Tai to delete RIB files after they have been rendered.

Delete temporary maps

Delete generated environment and shadow maps after rendering each frame.

Copyright © 1999-2003 Dot C Software, Inc. All rights reserved.
Dot C Software, Inc., 182 Kuuhale St., Kailua, HI 96734
(808) 262-6715 (voice) (808) 261-2039 (fax)
The RenderMan® Interface Procedure and RIB Protocol are:
Copyright © 1988, 1989, Pixar.  All rights reserved.
RenderMan® is a registered trademark of Pixar.