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 name | Parents | Classification | MFn type | Compatible function sets |
---|
mentalrayIblShape | | light: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) | Type | Default | Flags |
---|
|
mapping
(map )
| enum | 0 | |
|
|
type
(typ )
| enum | 0 | |
|
|
texture
(tx )
| string | NULL | |
|
|
useFrameExtension
(ufe )
| bool | false | |
|
|
frameExtension
(fe )
| integer | 1 | |
|
|
color
(col )
| float3 | 0, 0, 0 | |
|
|
|
|
|
hardwareFilter
(hwf )
| enum | 0 | |
|
|
hardwareAlpha
(hwt )
| float | 0.5 | |
|
|
colorGain
(cg )
| float3 | 1.0, 1.0, 1.0 | |
|
| colorGainR
(cgr )
| float | 1.0 | | |
|
| colorGainG
(cgg )
| float | 1.0 | | |
|
| colorGainB
(cgb )
| float | 1.0 | | |
|
|
colorOffset
(cof )
| float3 | 0, 0, 0 | |
|
| colorOffsetR
(cofr )
| float | 0 | | |
|
| colorOffsetG
(cofg )
| float | 0 | | |
|
| colorOffsetB
(cofb )
| float | 0 | | |
|
|
invert
(inv )
| bool | false | |
|
|
alphaIsLuminance
(ail )
| bool | false | |
|
|
primaryVisibility
(vis )
| bool | true | |
|
|
visibleInEnvironment
(vien )
| bool | false | |
|
|
visibleInReflections
(vir )
| bool | false | |
|
|
visibleInRefractions
(vif )
| bool | false | |
|
|
visibleInFinalGather
(vifg )
| bool | false | |
|
|
overrideEnvColorFx
(oefx )
| bool | false | |
|
|
envInvert
(einv )
| bool | false | |
|
|
envColorGain
(ecg )
| float3 | 1.0, 1.0, 1.0 | |
|
| envColorGainR
(ecgr )
| float | 1.0 | | |
|
| envColorGainG
(ecgg )
| float | 1.0 | | |
|
| envColorGainB
(ecgb )
| float | 1.0 | | |
|
|
envColorOffset
(eco )
| float3 | 0, 0, 0 | |
|
| envColorOffsetR
(ecor )
| float | 0 | | |
|
| envColorOffsetG
(ecog )
| float | 0 | | |
|
| envColorOffsetB
(ecorb )
| float | 0 | | |
|
|
overrideFgColorFx
(offx )
| bool | false | |
|
|
fgInvert
(finv )
| bool | false | |
|
|
fgColorGain
(fcg )
| float3 | 1.0, 1.0, 1.0 | |
|
| fgColorGainR
(fcgr )
| float | 1.0 | | |
|
| fgColorGainG
(fcgg )
| float | 1.0 | | |
|
| fgColorGainB
(fcgb )
| float | 1.0 | | |
|
|
fgColorOffset
(fco )
| float3 | 0, 0, 0 | |
|
| fgColorOffsetR
(fcor )
| float | 0 | | |
|
| fgColorOffsetG
(fcog )
| float | 0 | | |
|
| fgColorOffsetB
(fcob )
| float | 0 | | |
|
|
emitLight
(el )
| bool | false | |
|
|
filter
(flt )
| long2 | 256, 256 | |
|
|
|
|
samples
(smp )
| long2 | 40, 16 | |
|
| samplesU
(smpu )
| integer | 40 | | |
|
| samplesV
(smpv )
| integer | 16 | | |
|
|
lowSamples
(low )
| long2 | 5, 2 | |
|
| lowSamplesU
(lowu )
| integer | 5 | | |
|
| lowSamplesV
(lowv )
| integer | 2 | | |
|
|
jitter
(jit )
| float | 0.8 | |
|
|
skipBack
(skb )
| bool | true | |
|
|
emitDiffuse
(emdf )
| bool | true | |
|
|
emitSpecular
(emsp )
| bool | true | |
|
|
useRayTraceShadows
(rts )
| bool | true | |
|
|
shadowColor
(shc )
| float3 | 0, 0, 0 | |
|
| shadowColorR
(shcr )
| float | 0 | | |
|
| shadowColorG
(shcg )
| float | 0 | | |
|
| shadowColorB
(shcb )
| float | 0 | | |
|
|
rayDepthLimit
(rdl )
| integer | 2 | |
|
|
overrideLightColorFx
(olfx )
| bool | false | |
|
|
lightInvert
(linv )
| bool | false | |
|
|
lightColorGain
(lcg )
| float3 | 1.0, 1.0, 1.0 | |
|
| lightColorGainR
(lcgr )
| float | 1.0 | | |
|
| lightColorGainG
(lcgg )
| float | 1.0 | | |
|
| lightColorGainB
(lcgb )
| float | 1.0 | | |
|
|
lightColorOffset
(lco )
| float3 | 0, 0, 0 | |
|
| lightColorOffsetR
(lcor )
| float | 0 | | |
|
| lightColorOffsetG
(lcog )
| float | 0 | | |
|
| lightColorOffsetB
(lcob )
| float | 0 | | |
|
|
emitPhotons
(ep )
| bool | false | |
|
|
globillumPhotons
(giph )
| integer | 25000 | |
|
|
causticPhotons
(caph )
| integer | 15000 | |
|
|
exponent
(exp )
| float | 2.0 | |
|
|
standardEmission
(se )
| bool | false | |
|
|
overridePhotonColorFx
(opfx )
| bool | false | |
|
|
photonInvert
(pinv )
| bool | false | |
|
|
photonColorGain
(pcg )
| float3 | 1.0, 1.0, 1.0 | |
|
| photonColorGainR
(pcgr )
| float | 1.0 | | |
|
| photonColorGainG
(pcgg )
| float | 1.0 | | |
|
| photonColorGainB
(pcgb )
| float | 1.0 | | |
|
|
photonColorOffset
(pco )
| float3 | 0, 0, 0 | |
|
| photonColorOffsetR
(pcor )
| float | 0 | | |
|
| photonColorOffsetG
(pcog )
| float | 0 | | |
|
| photonColorOffsetB
(pcob )
| float | 0 | | |
|