Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members | Related Pages

SpotLight Class Reference

SpotLight defines a light source at a 3D location in the local coordinate system which emits light along a given direction vector, constrained within a solid angle. More...

Inheritance diagram for SpotLight:

PointLight LightNode ChildNode Node Object List of all members.

Detailed Description

SpotLight defines a light source at a 3D location in the local coordinate system which emits light along a given direction vector, constrained within a solid angle.

Authoring Interface:

        SpotLight {
            field   SFVec3f direction   0 0 -1
            field   SFFloat beamWidth   0.261799395
            field   SFFloat cutOffAngle 0.34906584
            field   SFFloat fallOff     1.0
                // from PointLight
            field   SFVec3f location    0 0 0
            field   SFVec3f attenuation 1 0 0
            field   SFFloat radius      100
                    // from LightNode
            field   SFBoolean   on              true
            field   SFColor3f   color           white
            field   SFColor3f   specularColor   white
        }

Parameters:
direction specifies the direction vector of the central axis of illumination emanating from the light source in the local coordinate system. Default value: 0 0 -1
beamWidth specifies an inner solid angle in which the light source emits light at uniform full intensity. Default value: 0.261799395
cutOffAngle specifies the outer bound of the solid angle of illumination. The light source does not emit light outside of this solid angle. Default value: 0.34906584
fallOff specifies a factor which controls the fall off of light between beamWidth (full intensity) and cutOffAngle (no intensity). Default value: 1.0
location specifies the position of the apex of the solid angle which bounds light emission from this source. Default value: 0 0 0
attenuation specifies, using 3 coefficients, how the SpotLight node's illumination falls off with distance. Default value: 1 0 0
radius specifies how far from its location a SpotLight node illuminates geometry. Default value: 100
on specifies whether geometry will be illuminated from this source. Default value: true
color specifies the spectral color properties of the direct light emission. Default value: white
specularColor specifies the spectral color properties of the specular illumination component. Default value: white

Functionality:

SpotLight defines a light source at a 3D location in the local coordinate system which emits light along a given direction vector, constrained within a solid angle. A SpotLight illuminates geometry nodes that respond to light sources, if they intersect the cone of light defined by the SpotLight's solid angle and radius parameters. SpotLights are specified in the local coordinate system and are affected by ancestor transformations.

Both cutOffAngle and beamWidth are specified as half-angles (symmetric around the light's central axis), given in radians. If the beamWidth is greater than the cutOffAngle, beamWidth is defined to be equal to the cutOffAngle and the light source emits full intensity within the entire solid angle defined by cutOffAngle. Both beamWidth and cutOffAngle must be greater than 0.0 and less than or equal to PI/2. The default fallOff factor (1.0) yields a linear rate of falloff from beamWidth to cutOffAngle. A fallOff value < 1 yields a slower falloff; a fallOff factor > 1 yields a faster falloff effect along the sides of the light cone.

With r as the distance from the light to the surface that is being illuminated, the attenuation factor is evaluated as follows:

        1/max(attenuation[0] + attenuation[1] * r + attenuation[2] * r^2, 1)
In other words, the three components of the attenuation value provide the constant, linear, and quadratic coefficients of the attenuation equation. The default (1, 0, 0) provides no attenuation. An attenuation value of (0, 0, 0) is identical to the default. attenuation component values must be greater than or equal to zero.

Both radius and position are affected by the transformations of ancestors (scales affect radius, and transformations affect position). The value of the radius field is always positive.

For further details on the lighting model, see Lighting.
XXX verify with Ogre's lighting model, and revise to match.


Generated on Sat Apr 1 06:08:09 2006 for Emma Content Development Kit by  doxygen 1.4.3