MayaMan Help Contents

# MayaMan Basic Options

The basic options panel in the MayaMan Globals dialog controls the most common parameters for MayaMan.

### RenderMan Renderer

MayaMan needs to know what RenderMan compatible renderer you are using, so that it can generate RIB files that are specialised for the features of that renderer, and know how to use the shader compilation and texture conversion utilities for that application.

You can tell MayaMan which renderer you prefer as default by storing that renderer's name (as displayed in this drop-down menu) in an environment variable called `MAYAMAN_RENDERER`, if this value is set to something invalid then the valid options will be listed in the script editor.

These are the currently supported renderers.

### RIB Options

#### Base Name

The base name is the name used by the RIB files MayaMan generates. For example, if you base name was 'foo' then it would generate a RIB filename of foo.1.rib for the first frame.

#### Binary RIB Output

RIB files can be output in a binary format. Using this format can result in smaller files that are generated faster by MayaMan, and read faster by the renderers. Note though that the binary RIBs are not human readablee. Also, some renderers may not be able to correctly handle binary RIB as input, so you may need to turn this option off if you're having trouble.

#### Unix RIB Output

If this option is checked, then the paths to external files specified in the RIB files will use a unix format, and the script files generated will be unix .csh files rather than DOS style .bat files. This option will default to true when used on unix machines, and false otherwise, but you may want to generate files on a unix box to be rendered on a Windows machine, or vice versa.

#### Path Neutral

If this option is checked mayaman will assume that the launch scripts will be started from the rib directory and simplifies as many path names as possible based on that assumption. This can lead to data files that are easier to move from one location to another (ie: sending ribs into support).

#### Zero Pad Filenames

When this option is checked, MayaMan will generate filenames like foo.0001.rib, rather than foo.1.rib. Many utilities expect one format or the other when reading sequences of filenames.

#### Generate RIB Only

Normally, MayaMan will will generate RIB files, convert textures etc, then run the .bat or .csh file to actually invoke the renderer. When this flag is enabled, MayaMan will still generate all the same files, but will not run the .bat or .csh file. This file will then have to be run manually instead
Note that this flag is ignored and treated as "disabled" for previews.

#### Delete RIB After Rendering

When this option is on, commands will be placed into the script file to delete the RIB files after they have been used to render the output images. This means that MayaMan will be cleaning up after itself, but if you wanted to re-render the image, or otherwise access the RIB files you will need to regenerate them in MayaMan.

#### Skinny RIB

Reduce rib bulk by getting rid of comments, simplifying identifier names, etc.

#### Compress RIB Files

When this option is on, the RIB files output by MayaMan will be compressed using the gzip algorithm. This results in much smaller files, but may result in slower RIB creation and RIB reading times, on the other hand, if RIB creation is causing a network bottleneck then the extra CPU required to compress the rib may well be worth it.

#### Launch Script Mode

##### Shell

The original .bat/.csh style launch script. In this case the Unix RIB Output flag is important and the shell scripts are not platform independent.... a safe option for homogeneous environments.

##### Alfred

A script to be used by Pixar's Alfred application. If this option is on, the script will be written, and the alfred command run to execute the render.

##### Perl

A perl script is written for each frame. It is assumed that perl is in the executable path. Windows users are required to also have the cygwin tools installed.

##### Make

A makefile is written for each frame. It is assumed that a gnu style make is in the executable path, a perfectly good one is included with the cygwin tools.

### Display Options

#### Preview/Render Display Driver

RenderMan renderers pass the pixel data on to modules known as display drivers. These modules are then responsible for displaying the pixel data or writing it to disk. You can specify which display driver to use here. By default the 'animal' display driver is used, which is a custom driver shipping with MayaMan, and is capable of displaying, saving or both. The 'animal' display driver will save a Softimage PIC format file when the filename extension is ".pic", otherwise it will save a TIFF format image when performing a render. Other common drivers are 'framebuffer', 'tiff', and 'sgi'. If you are using PRMan, look in the RMANTREE/etc directory for a full list of available display drivers.

The Preview Display driver is used for preview operations and settings like 'animal', 'framebuffer', 'it', etc. are ideal as they show the image as it is being rendered rather than save it to disk.

The Render Display driver is used for render operations and settings like 'file', 'tiff', etc. generally do what you want... they create a file rather than trying to open a window.

Having separate settings for preview and render cuts down on a common error... trying to render with a display driver that's only suitable for preview.

#### Preview/Render Driver Args

A place to specify arbitrary additional parameters to a display driver.

#### 'animal' Display Output

When using the 'animal' display driver, this parameter can be used to control whether the results are written out to file, shown in a window, or both. When writing a file, if the filename ends in ".pic" a Softimage PIC format file will be written, otherwise a TIFF image will be saved.

#### Channels

Here you can select which image channels are passed on to the display driver.

#### Extension

This is simply the extension to give the filenames written out by MayaMan

#### Render Comments

If not the empty string then it is passed to the 'file' and 'tiff' driver as the 'ImageDescription', for Animal's internal drivers it's passed as a 'comments' parameter.

### Render Quality Settings

#### Smooth Interpolation

This parameter determines whether the shading is to be performed in a constant or smooth fashion. In a REYES algorithm renderer such as PRMan, this determines whether the shader is run once per micropolygon, or once at each vertex and interpolated across the micropolygon. You should probably have this option on for any final renders, and off for any previews.

#### Shading Rate

Determines how finely the surfaces are to be shaded, i.e. how frequently the shader is sampled. Smaller values result in more frequent (and thus higher quality) shading.

#### Pixel Samples

The sample frequency parameter is one of the most important quality controls for RenderMan. This controls how many samples are performed per pixel. Increasing the pixel samples will remove any noisy geometry edges. Shader aliasing can also be alleviated by increasing the samples, but it is much better to have shaders antialias themselves if possible (i.e. if you are writing your own shaders). Increasing pixel samples will not greatly improve noisy shadow maps, these can be improved by increasing shadow map samples elsewhere. Really high pixel samples (i.e. greater than 4 or 5) should only be necessary in cases of large motion blur or depth of field effects. Entropy uses a different technique, Spatial and Temporal quality.

#### Spatial Quality

Specific to entropy, similar to Pixel Samples, used applies to objects that are not blurred, see entropy documentation for more information.

#### Temporal Quality

Specific to entropy, similar to Pixel Samples but for objects that are blurred, see entropy documentation for more information.

#### Pixel Filter

RenderMan filters multiple samples together to produce the final rendered image. You can choose different pixel filters for different effects. Some are very quick (e.g. box) while others can soften your images (e.g. gaussian). CatmullRom and Sync are good general purpose filters.

Note that not all pixel filters are supported by all renderers, consult your renderer's documentation to determine what the valid choices are.

#### Pixel Filter Width/Height

The filter width/height parameters control the area over which samples are averaged using the pixel filter. Having a larger area can result in higher quality or a more blurry result, depending on the size and the filter.

### Misc Options

#### Shader Parameters Default To Current Value

When enabled the shader's .SL code will contain parameter defaults that reflect the current settings of the values. Normally the shader parameters just take on simple defaults and the current settings are passed as rib parameters.... an approach which leads to infrequent recompiles but makes it hard to plug the shaders into other contexts (rib gen programs). When the shader parameters take on the current values the shaders have to be recompiled each time a value changes but the up side is that the parameter defaults make sense when the shader is viewed as a standalone entity.

Note, for the sake of efficiency the shader code gen will always put constant values into the shader as constants rather than exposing them as shader parameters. To make a parameter visible as a shader parameter just set a key.

Even if you eventually want to generate shaders with this flag on you'll probably want to have it switched off during material setup so that shader recompilation doesn't slow you down.

#### Force Light Shaders

When enabled, the shaders for lights will always be handled as 'magic' shaders and compiled on the spot rather then selecting one of the precompiled shaders. This may be useful in two scenarios. First, you've hacked light_utils.h/maya_magic_shaders.h to do special things with basic lights (a very advanced usage). Second, you're testing with a renderer that's not fully supported by MayaMan and the precompiled shaders for that renderer are either missing or need work (in which case refer back to scenario #1 and send us the changes please).

#### Trim Shader Strings

When enabled, string arguments to shaders will have prefixes defined by the shader search trimmed off. This is provided as a workaround for old versions of prman (12.5.2 and earlier) that don't like having large numbers of very long strings as shader arguments. Note, there is some risk with this in that it may cause different textures to be selected, ie: if you provide a full path to 'foo.tex' and the trimming of this full path results in a shortened path that can be used with a different search path component to find foo.tex then this alternate foo.tex may be the one selected, when the full path is specified this risk does not exist.

#### Tipped Camera

Sometimes it's useful to tip the scene on it's side, this can be very good at controlling memory use when dealing with ground planes. MayaMan will swap the resolution, pixel aspect ratio and screenwindow information around appropriately. The user is left with the chore of rotating the resulting images. Note, while 'world' and 'object' space will remain constant through the tip, 'camera' space will change, therefore shaders that rely on camera space calculations may change their result, this may not be desirable.

#### Create Default Lights If None In Scene

If this option is on, and there are no lights in your scene, then MayaMan will use a single point light located at the camera's position. Note, when global illumination is enabled this switch is ignored.

#### No Lights

Suppress all lights, even the ones that might be created by the 'default lights if none' option... useful for special passes.

#### Verbose

With this option on, MayaMan may output more verbose information to Maya's Output Console. By default MayaMan will only output simple information, such as the frame being rendered, and warning/error messages.

#### Pause

When a render is executed, and new shell process is started. This new shell pops up a new window when running under the Windows operating system, and if an error occurs then a message may be output to this window, but the window can disappear much too quickly for the message to be read. By ticking this option, a 'pause' command will be put into the batch file, so that the user must press a key before the window will close. This allows you to easily read any output in the shell window.

MayaMan Help Contents