Go to: Attributes.

"mentalrayIblShape" is a mental ray for Maya plugin node that simulate light emitted from an infinitely distant (environment) sphere. mental ray for Maya plugin needs to be loaded to use this node.
Image Based Lighting is a popular technique for realistic image synthesis. It involves taking one or more pictures of a real environment (usually by means of a chrome ball), processing that picture into a texture and using it to illuminate the scene. The texture is typically mapped to the incandescence channel of a sphere that surrounds the scene. Final Gathering is used to illuminated the scene; it can pick up incandescence samples from the environment texture. Illumination models deal with these samples similar to direct light arriving from, say, a spot light.
Users could enclose their scenes by a real sphere (mesh, NURBS) which the texture is mapped to. While this workflow is appropriate if a finite distance to the environment is required, it has several drawbacks when the environment can be considered infinitely distant. Because the sphere is actual geometry, mental ray processes it as such. It gets tesselated. The sphere becomes part of acceleration structures (BSP tree) where it (due to its "encompassing" nature) can slow rendering down significantly. The interactive Maya workflow can be hindered if such a large sphere present in the scene
Users may activate the Image Based Lighting (IBL) feature in mental ray's Render Settings window by creating an IBL node. The attribute editor (AE) may be used to tune attributes. IBL environments can be previewed in OpenGL (if they are file texture based). In mental ray, IBL is represented by a set of shaders and no geometry is created or exported.
Image Based Lighting is represented in the Model View by means of a shape node. You may scale or move the shape, but this has no effect because the environment is considered infinitely distant. For best feedback, you should not move the shape, but scale it as large as your clipping planes permit. Rotations of the shape are relevant and recognized as placement attribute on the corresponding mental ray shaders.

To sum up, Image Based Lighting consists of three mental ray shaders:

Environment Shader
Together with Final Gathering this implements classical image based lighting. The color of the environment is picked up by final gather rays and incorporated into surface illumination. An environment shader is passive, it just "sits around" and occasionally gets hit by a ray. This approach works best if the IBL texture is diffuse. An extreme would be if the texture consisted only of a single color; this results in ambient occlusion computation.

Photon Emission Shader
Photons are emitted from the IBL environment sphere. These photons pick up their energies (or colors) from the IBL texture. A photon emission shader emits all its photons once per frame. It is more "active" than an environment shader in this sense. Photons work best with mostly diffuse IBL textures.

Light Shader
A low-resolution control texture is computed (from the file or procedural IBL texture) and mapped to the IBL environment sphere. Whenever direct lights are sampled, the light shader is invoked. In this sense, the light shader approach is the most "active" one, and the most expensive. The IBL environment can be seen as one big area light. This approach works best (also due to importance sampling) if the IBL texture contains sharp features; preferably contains much more black than non-black pixels.

These three approaches may be combined, at the expense of computation time.

Node nameParentsClassificationMFn typeCompatible function sets
mentalrayIblShapelight:rendernode/mentalray/iblShape

Attributes (91)

The following quick index only shows top-level attributes (too many attributes to show them all): alphaIsLuminance, causticPhotons, color (3), colorGain (3), colorOffset (3), emitDiffuse, emitLight, emitPhotons, emitSpecular, envColorGain (3), envColorOffset (3), envInvert, exponent, fgColorGain (3), fgColorOffset (3), fgInvert, filter (2), frameExtension, globillumPhotons, hardwareAlpha, hardwareFilter, invert, jitter, lightColorGain (3), lightColorOffset (3), lightInvert, lowSamples (2), mapping, overrideEnvColorFx, overrideFgColorFx, overrideLightColorFx, overridePhotonColorFx, photonColorGain (3), photonColorOffset (3), photonInvert, primaryVisibility, rayDepthLimit, samples (2), shadowColor (3), skipBack, standardEmission, texture, type, useFrameExtension, useRayTraceShadows, visibleInEnvironment, visibleInFinalGather, visibleInReflections, visibleInRefractions

Long name (short name)TypeDefaultFlags
mapping (map) enum0outputinputstorable
Select a UV space for the environment sphere. 0 = Spherical (latitude-longitude), 1 = Angular (HDR Shop).
type (typ) enum0outputinputstorable
Whether to map a file or a procedural texture as IBL texture. File textures can be previewed in OpenGL. 0 = Image File, 1 = Texture. If a file is used as IBL texture, it is recommended to use Image File instead of using maya fileTexture and set the type to Texture. There is no difference between the two for the Environment and Photon Emission part. However, the Light Emission will downfilter the Image File, whereas the Texture is just point sampled.
texture (tx) stringNULLoutputinputstorable
Name of file on disk if Type is File Texture.
useFrameExtension (ufe) boolfalseoutputinputstorable
If enabled, the texture's file name may change on a per-frame basis.
frameExtension (fe) integer1outputinputconnectablestorablekeyable
The frame extension.
color (col) float30, 0, 0outputinputconnectablestorablekeyable
If Type is Procedural, hook up a 2D texture shader here.
colorR (colr) float0outputinputconnectablestorablekeyable
Alpha component of 2d texture.
colorG (colg) float0outputinputconnectablestorablekeyable
Green component of 2d texture.
colorB (colb) float0outputinputconnectablestorablekeyable
Blue component of 2d texture.
hardwareFilter (hwf) enum0outputinputstorable
Set texture filter quality for model view. 0 = Nearest, 1 = Linear
hardwareAlpha (hwt) float0.5outputinputstorable
Set transparency of IBL shape locator in model view. 0 is transparent, 1 is fully opaque.
colorGain (cg) float31.0, 1.0, 1.0outputinputconnectablestorablekeyable
Use Color Gain to fine-tune the balance of a texture's Out Color. Color Gain is applied as a multiplier to the texture's color. If Color Gain is white, it has no effect. Reducing the amount of red (for example) in Color Gain will scale down the amount of red in the final output color.
colorGainR (cgr) float1.0outputinputconnectablestorablekeyable
Color Gain Red Value
colorGainG (cgg) float1.0outputinputconnectablestorablekeyable
Color Gain Green Value
colorGainB (cgb) float1.0outputinputconnectablestorablekeyable
Color Gain Blue Value
colorOffset (cof) float30, 0, 0outputinputconnectablestorablekeyable
Use Color Offset to brighten and adjust a texture's Out Color. Unlike Color Gain (which is a multiplier), Color Offset is simply added to the texture's Out Color. Therefore if Color Offset is black, it has no effect. Increasing the amount of red (for example) in Color Offset will uniformly increase the amount of red in the final output color.
colorOffsetR (cofr) float0outputinputconnectablestorablekeyable
Color Offset Red Value
colorOffsetG (cofg) float0outputinputconnectablestorablekeyable
Color Offset Green Value
colorOffsetB (cofb) float0outputinputconnectablestorablekeyable
Color Offset Blue Value
invert (inv) boolfalseoutputinputstorable
Invert is used to reverse the color values of the texture. When Invert is turned on, white becomes black, black becomes white, red becomes cyan, yellow becomes blue, etc.
alphaIsLuminance (ail) boolfalseoutputinputstorable
Alpha Is Luminance can be turned on to make the alpha (mask) output of this node depend on the luminance of the texture. This means that bright areas of the texture will be more opaque when compositing, and dark areas will be more transparent.
primaryVisibility (vis) booltrueoutputinputstorable
The visiblity attributes under Render Stats maps to a camera environment shader in mental ray. If all visiblity attributes are turned off, no environment shader is exported. primaryVisibility decides IBL texture's visiblity to primary rays.
visibleInEnvironment (vien) boolfalseoutputinputstorable
The visiblity attributes under Render Stats maps to a camera environment shader in mental ray. If all visiblity attributes are turned off, no environment shader is exported. visibleInEnvironment decides IBL texture's visiblity to Environment rays. The default is false, but if created through mental ray render settings, this value will be set to true on creation. Environment ray contributes to the reflection from the environment.
visibleInReflections (vir) boolfalseoutputinputstorable
The visiblity attributes under Render Stats maps to a camera environment shader in mental ray. If all visiblity attributes are turned off, no environment shader is exported. visibleInReflections decides IBL texture's visiblity to reflection rays. The default is false, but if created through mental ray render settings, this value will be set to true on creation. This attribute controls the secondary reflections. The direct reflection of the enviroment is controlled by visibleInEnvironment.
visibleInRefractions (vif) boolfalseoutputinputstorable
The visiblity attributes under Render Stats maps to a camera environment shader in mental ray. If all visiblity attributes are turned off, no environment shader is exported. visibleInRefractions decides IBL texture's visiblity to refraction rays. The default is false, but if created through mental ray render settings, this value will be set to true on creation. This attribute controls if IBL texture is visible in refractions.
visibleInFinalGather (vifg) boolfalseoutputinputstorable
The visiblity attributes under Render Stats maps to a camera environment shader in mental ray. If all visiblity attributes are turned off, no environment shader is exported. visibleInFinalGather decides IBL texture's visiblity to Final Gather rays. The default is false, but if created through mental ray render settings, this value will be set to true on creation. If visible to Final Gather rays, the IBL texture will be used to illuminate the scene. Otherwise, IBL does not affect final gather.
overrideEnvColorFx (oefx) boolfalseoutputinputstorable
You can adjust IBL contribution per component. To adjust the environment color, enable overrideEnvColorFx, and use envInvert, envColorGain, envColorOffset to fine tune the contribution.
envInvert (einv) boolfalseoutputinputstorable
Invert the IBL texture color for the environment component only.
envColorGain (ecg) float31.0, 1.0, 1.0outputinputconnectablestorablekeyable
Color Gain for the environment component.
envColorGainR (ecgr) float1.0outputinputconnectablestorablekeyable
Environment color gain red value
envColorGainG (ecgg) float1.0outputinputconnectablestorablekeyable
Environment color gain green value
envColorGainB (ecgb) float1.0outputinputconnectablestorablekeyable
Environment color gain blue value
envColorOffset (eco) float30, 0, 0outputinputconnectablestorablekeyable
Color offset for the environment component.
envColorOffsetR (ecor) float0outputinputconnectablestorablekeyable
Environment color offset red value
envColorOffsetG (ecog) float0outputinputconnectablestorablekeyable
Environment color offset green value
envColorOffsetB (ecorb) float0outputinputconnectablestorablekeyable
Environment color offset blue value
overrideFgColorFx (offx) boolfalseoutputinputstorable
You can adjust IBL contribution per component. To adjust the final gather contribution, enable overrideFgColorFx, and use fgInvert, fgColorGain, fgColorOffset to fine tune the final gather contribution from the IBL texture.
fgInvert (finv) boolfalseoutputinputstorable
Invert the color of IBL texture final gather contribution.
fgColorGain (fcg) float31.0, 1.0, 1.0outputinputconnectablestorablekeyable
Color Gain for the final gather contribution.
fgColorGainR (fcgr) float1.0outputinputconnectablestorablekeyable
Final gather color gain red value
fgColorGainG (fcgg) float1.0outputinputconnectablestorablekeyable
Environment color gain green value
fgColorGainB (fcgb) float1.0outputinputconnectablestorablekeyable
Environment color gain blue value
fgColorOffset (fco) float30, 0, 0outputinputconnectablestorablekeyable
Color Offset for the final gather contribution.
fgColorOffsetR (fcor) float0outputinputconnectablestorablekeyable
Environment color offset red value
fgColorOffsetG (fcog) float0outputinputconnectablestorablekeyable
Environment color offset green value
fgColorOffsetB (fcob) float0outputinputconnectablestorablekeyable
Environment color offset blue value
emitLight (el) boolfalseoutputinputstorable
It is possible to emit light from the IBL environment radially towards the origin of world space. If light emitLight is turned on, the IBL node acts like any of the other true light sources in the scene, and emits light from the infinitely distant IBL environment. This maps to a mental ray light shader.
filter (flt) long2256, 256outputinputstorable
The light shader sets up a "control texture" for light emission. Every pixel in that texture corresponds to a directional light. filter specifies the texture's resolution. Bigger filter creates more directional lights to better match the IBL texture, and more render time. File textures may be downsampled to the filter resolution, procedural textures are sampled at this resolution.
filterU (fiu) integer256outputinputconnectablestorablekeyable
The UI name is QualityU
filterV (fiv) integer256outputinputconnectablestorablekeyable
The UI name is QualityV
samples (smp) long240, 16outputinputstorable
Sampling all directional lights represented by the control texture is often prohibitively expensive. Therefore the shader has a built-in importance mechanism that attempts to select the "most important" lights. The first Samples parameter specifies the number of important lights that must be sampled. The second parameter quasi-randomly selects a certain number of remaining lights. The product of filterU and filterV should always be larger than or equal to the sum of the two Samples parameters. samples parameters larger than the product are clamped.
samplesU (smpu) integer40outputinputconnectablestorablekeyable
U component of samples.
samplesV (smpv) integer16outputinputconnectablestorablekeyable
V component of samples.
lowSamples (low) long25, 2outputinputstorable
lowSamples specifies the number of light samples taken from IBL during final gathering. 1/8th of the regular samples is a good starting point.
lowSamplesU (lowu) integer5outputinputconnectablestorablekeyable
U component of lowSamples.
lowSamplesV (lowv) integer2outputinputconnectablestorablekeyable
V component of lowSamples.
jitter (jit) float0.8outputinputstorable
Each pixel in the control texture maps to a location on the environment sphere to determine the direction of its associated virtual directional light. Turning on jitter quasi-randomly jitters that direction and thus improves quality.
skipBack (skb) booltrueoutputinputstorable
If lights on the backside of surfaces do not contribute to the surfaces' illumination (i.e. there is no translucency in the scene), you turn skipBack on. It aids the importance sampling a lot.
emitDiffuse (emdf) booltrueoutputinputstorable
Determine if this light contributes to the diffuse shading.
emitSpecular (emsp) booltrueoutputinputstorable
Determine if this light contributes to the specular shading.
useRayTraceShadows (rts) booltrueoutputinputstorable
Do I ray trace my shadows?
shadowColor (shc) float30, 0, 0outputinputconnectablestorablekeyable
The input shadow color.
shadowColorR (shcr) float0outputinputconnectablestorablekeyable
Shadow color red value
shadowColorG (shcg) float0outputinputconnectablestorablekeyable
Shadow color green value
shadowColorB (shcb) float0outputinputconnectablestorablekeyable
Shadow color blue value
rayDepthLimit (rdl) integer2outputinputstorable
max ray depth allowed
overrideLightColorFx (olfx) boolfalseoutputinputstorable
You can adjust IBL contribution per component. To adjust the light color, enable overrideLightColorFx, and use lightInvert, lightColorGain, lightColorOffset to fine tune the contribution.
lightInvert (linv) boolfalseoutputinputstorable
Invert the IBL light color.
lightColorGain (lcg) float31.0, 1.0, 1.0outputinputconnectablestorablekeyable
Color Gain for the IBL light color.
lightColorGainR (lcgr) float1.0outputinputconnectablestorablekeyable
Light color gain red component.
lightColorGainG (lcgg) float1.0outputinputconnectablestorablekeyable
Light color gain green component.
lightColorGainB (lcgb) float1.0outputinputconnectablestorablekeyable
Light color gain blue component.
lightColorOffset (lco) float30, 0, 0outputinputconnectablestorablekeyable
Color Offset for the IBL light color.
lightColorOffsetR (lcor) float0outputinputconnectablestorablekeyable
Light color offset red component.
lightColorOffsetG (lcog) float0outputinputconnectablestorablekeyable
Light color offset green component.
lightColorOffsetB (lcob) float0outputinputconnectablestorablekeyable
Light color offset blue component.
emitPhotons (ep) boolfalseoutputinputstorable
photons may be emitted from the IBL environment sphere. This requires Global Illumination and/or Caustic photons to be turned on the Render Settings. The emission direction is chosen quasi-randomly for individual photons. Similar to light emission, a photon picks up the color corresponding to its emission direction from the IBL texture (file or procedural), possibly adjusted by color gain and offset. This maps to a mental ray photon emission shader. Turn emitPhotons on, if you want to emit photons from the infinitely distant IBL environment.
globillumPhotons (giph) integer25000outputinputstorable
Determines how many global illumination photons are emitted.
causticPhotons (caph) integer15000outputinputstorable
Determines how many caustic photons are emitted.
exponent (exp) float2.0outputinputstorable
Determines the exponent used for photon emission.
standardEmission (se) boolfalseoutputinputstorable
If off, photons will be stored on first hit. This is useful if IBL is to be achieved using global illumination photons alone. In terms of a real environment you can think of this switch as photons from the Sun being scattered in the atmosphere before reaching any surface. Turn this option on, if you are emitting caustic photons, or if you are emitting light in combination with photons.
overridePhotonColorFx (opfx) boolfalseoutputinputstorable
You can adjust IBL contribution per component. To adjust the photon color, enable overridePhotonColorFx, and use photonInvert, photonColorGain, photonColorOffset to fine tune the contribution.
photonInvert (pinv) boolfalseoutputinputstorable
Invert the IBL photon color.
photonColorGain (pcg) float31.0, 1.0, 1.0outputinputconnectablestorablekeyable
Color Gain for the IBL photon color.
photonColorGainR (pcgr) float1.0outputinputconnectablestorablekeyable
Photon color gain red component.
photonColorGainG (pcgg) float1.0outputinputconnectablestorablekeyable
Photon color gain green component.
photonColorGainB (pcgb) float1.0outputinputconnectablestorablekeyable
Photon color gain blue component.
photonColorOffset (pco) float30, 0, 0outputinputconnectablestorablekeyable
Color Offset for the IBL photon color.
photonColorOffsetR (pcor) float0outputinputconnectablestorablekeyable
Photon color offset red component.
photonColorOffsetG (pcog) float0outputinputconnectablestorablekeyable
Photon color offset green component.
photonColorOffsetB (pcob) float0outputinputconnectablestorablekeyable
Photon color offset blue component.