Represents a spotlight.

Namespace: DigitalRune.Graphics
Assembly: DigitalRune.Graphics (in DigitalRune.Graphics.dll) Version: 1.0.0.0 (1.0.0.9509)

Syntax

C#
public class Spotlight : Light
Visual Basic
Public Class Spotlight _
	Inherits Light
Visual C++
public ref class Spotlight : public Light

Remarks

Spotlights have color, intensity, position, direction and range. The light emitted from a spotlight is shaped like a cone. The light intensity is maximal at the center and diminishes towards the outside of the cone. This effect is called "spotlight falloff" (see below). The Spotlight object defines the light properties of a spotlight positioned at the origin (0, 0, 0) that shines in forward direction (0, 0, -1) - see Forward. A LightNode needs to be created to position and orient a spotlight within a 3D scene.

Color, DiffuseIntensity/SpecularIntensity, HdrScale, the spotlight falloff (see GetAngularAttenuation(Single, Single, Single)) and the light distance attenuation factor (see GetDistanceAttenuation(Single, Single, Single)) are multiplied to get the final diffuse and specular light intensities which can be used in the lighting equations.

When using a low dynamic range lighting (LDR lighting) the light intensities are

  • Diffuse light intensity Ldiffuse = ColorRGB · DiffuseIntensity
  • Specular light intensity Lspecular = ColorRGB · SpecularIntensity

When using a high dynamic range lighting (HDR lighting) the light intensities are

  • Diffuse light intensity Ldiffuse = ColorRGB · DiffuseIntensity · HdrScale
  • Specular light intensity Lspecular = ColorRGB · SpecularIntensity · HdrScale

A pure diffuse spotlight can be created by setting DiffuseIntensity > 0 and SpecularIntensity = 0. A pure specular spotlight can be created by setting DiffuseIntensity = 0 and SpecularIntensity > 0.

Spotlight Falloff (Dual-Cone Model): The light emitted from a spotlight is made up of a bright inner cone and a larger outer cone. The amount of light emitted continually diminishes from the inner cone to the outer cone. The angle at which the light starts to fall off is defined as the FalloffAngle. The angle at which the light is cut off (light intensity is 0) is defined as the CutoffAngle. So the size of the inner cone is 2 · FalloffAngle and the size of the outer cone is 2 · CutoffAngle. See also GetAngularAttenuation(Single, Single, Single).

The Shape of a spotlight is a PerspectiveViewVolume. (A ConeShape would be a better fit, but the PerspectiveViewVolume was chosen because it is computationally more efficient.)

A 2D texture (see Texture) can be assigned to the spotlight. By default no texture is assigned. If a texture is set, the spotlight acts like a projector and projects this texture onto the lit surroundings.

Cloning: When the Spotlight is cloned the Texture is not duplicated. The Texture is copied by reference.

Inheritance Hierarchy

System..::..Object
  DigitalRune.Graphics..::..Light
    DigitalRune.Graphics..::..Spotlight

See Also