MayaMan Help Contents

PRMan 11

PRMan11 features an extensive array of ray tracing and global illumination capabilities. MayaMan lets you fully exploit this new functionality with little or no effort.

Ray Tracing

The magic shaders that MayaMan produces will now use prman's raytracing capabilities to compute reflections, refractions and shadows. Turn on raytracing in the normal maya way and set up maya materials that reflect/refract or lights that do ray traced shadows and mayaman will take care of the rest.

Most raytracing controls are available through the MayaMan Raytracing Options panel.

PRMan11 Name/Concept MayaMan Raytracing Options Control
Attribute visibility/transmission Shadow Casting
Option trace/maxdepth Max Ray Depth
Attribute trace/bias Min Shadow Bias

Though one is located in MayaMan Global Reflection Options panel.

PRMan11 Name/Concept MayaMan Global Reflection Options Control
Attribute trace/displacements Reflection Displacement

Quality Controls For Ray Traced Reflections/Refractions

A crucial time/quality tradeoff for reflections and refractions are the number of sample rays used to compute these effects. You can control the number of samples with the Reflection Samples and Refraction Samples with a MayaMan Material Attributes Node. Reflections and refractions can also be blurred and the material attributes node can also be used to control the amount of blur.

Quality Control For Ray Traced Shadows

The number of samples used for ray traced shadows is set directly with maya's regular ray traced shadow controls. Individual lights can also have some of the basic attributes overridden with a href="../permodel/light.html">MayaMan Light Attributes node.

PRMan11 Name/Concept MayaMan Light Attributes Control
shadow() "blur" Ray Traced Shadows, Blur
Attribute trace/bias Ray Traced Shadows, Bias

Pseudo Area Lights

PRMan doesn't support area lights directly, instead the concept of pseudo area lights is used to emulate a rectangular light emitting surface like maya's area lights. These can be used to create sharp contact shadows that soften as the distance from the contact point increases. For all intents and purposes maya area lights will work correctly. Only ray traced shadows are supported and the quality will be directly affected by the number of samples used. Note, the pseudo area technique is only used for area lights that are nonspecular, thus, area lights can't be used to create broad speculars. An area light that casts speculars is replaced with a wide spotlight.

Deep Shadows

PRMan's deep shadowing mechanism is enabled by attaching a MayaMan Light Attributes node to the light which is to cast deep shadows and turning on the control in the Depth Map Shadow Attributes, Depth Map Creation, PRMan 11 Deep Shadows section.

Global Illumination

Global illumination effects in prman can be roughly divided into two categories, those driven from photon maps and those driven by brute force raytracing. All the principle controls can be found in the MayaMan Global Illumination Options panel. Not all of the controls apply to PRMan11 and in some cases the names of the control in mayaman are representative of Air/Entropy but the concepts remain the same. Here is a table of pertinant controls and how they map to PRMan11 concepts.

PRMan11 Name/Concept MayaMan Global Illuminate Panel Control
Attribute irradiance/maxerror Max Error
Attribute irradiance/maxpixeldist Max Pixel Dist
indirectdiffuse() "samples" Samples
Attribute trace/maxdiffusedepth, maxspeculardepth Max Bounce, mayaman uses this as maxdiffusedepth
and sets maxspeculardepth to be this value plus 1
indirectdiffuse() "environmentmap" Envname
Option trace/specularthreshold Specular Threshold
Hider photon "emit" (global pass) Global Photons
Attribute photon/globalmap Global Photon File
Attribute photon/estimator NGather
Hider photon "emit" (caustic pass) Photons
Attribute photon/causticmap Caustic Photon File

Many of the attributes can be overriden on a per-model basis with a MayaMan Model Attributes node. All of the controls in the 'Global Illumination' section of the attributes node are applied as well as:

PRMan11 Name/Concept MayaMan Model Attributes Control
Attribute visibility/transmission RayTracer Shadowing, Shadow Calculation
Attribute photon/shadingmodel Caustics, Photon Shading Model

Lights also require some special controls which are available through the MayaMan Light Attributes node. PRMan doesn't allow assigning an explicit number of photons to each light but MayaMan requires that for a light to emit photons it has to have the Caustics 'Enabled' flag turned on and have a non-zero number of photons assign. A light can contribute to just the global photon map, just the caustic map or both, this can be useful to get good caustic effects as you can focus a narrow light that only creates caustic photons on the objects that will bounce/transmit photons rather than throwing photons into the whole scene which would require a huge number of photons to produce stable results.

An important factor in the energy that photons carry through the scene is the basic color of the objects as expressed as a single value in the rib... RiColor or Cs values rather than as expressed by the shaders. When the color attribute of an object's material is not connected the color is applied directly and this yields expected results, when the color attribute is connected though the maya GUI shows the value as black and this causes the objects to absorb all photons... to allow the user to take back control over Cs, MayaMan will add an extra attribute called MayaManCs to materials with connected color attributes.

Getting Started With PRMan11 Global Illumination

Make sure that all point lights, spot lights and area lights have a Decay Rate set to Quadratic, adjust the intensities as required... this is very important otherwise the GI effects won't be computed correctly.

Use both a global photon map and radiance. The global photon map is cheap to compute compared to radiance and it's presense will allow much lower 'samples' settings for radiance. When setting photon map names be sure to use the #f notation so that a map per frame is created. ie: c:/temp/global.#f.map.

MayaMan Help Contents