Table 6.252 — DRM_Spot_Light

Property

Description

Class

  • <DRM Spot Light>

Superclass

Subclass

  • None.

Definition

An instance of this DRM class is a <DRM Base Positional Light> that specifies an elliptic cone of influence, the tip of which is the specified <DRM 3D Location>. The cone is bounded where it intersects the sphere centred at the tip, the radius of which is given by the radius field. This results in a a cone-shaped volume of influence, possibly smashed in one direction. Only objects located within this cone can be affected.

The intensity dropoff is computed as follows:
Given a point on a ray in the cone at fixed distance D from the cone apex, if
I0 = intensity on the <DRM Lobe Data> direction axis at distance D
Ah = the horizontal angle of the ray in degrees from direction vector
Av = the vertical angle of the ray in degrees from direction vector
then the intensity I at the point is:

case: 0< horizontal_drop_off_rate 0< vertical_drop_off_rate I= I0*(1-|Ah|*horizontal_drop_off_rate)*(1-|Av|*vertical_drop_off_rate)

case: 0= horizontal_drop_off_rate 0< vertical_drop_off_rate
I= I0*(1-|Av|*vertical_drop_off_rate)

case: 0< horizontal_drop_off_rate 0= vertical_drop_off_rate
I= I0*(1-|Ah|*horizontal_drop_off_rate)

Class diagram

Figure 6.300 — DRM_Spot_Light

Inherited field elements

Field name

Range

Field data type

apply_to_children1

 

Boolean

override_positional_lights2

 

Boolean

override_infinite_lights3

 

Boolean

active_light_value4

 

Boolean

radius5

 

Float

constant_attenuation_factor6

 

Long_Float

linear_attenuation_factor7

 

Long_Float

quadratic_attenuation_factor8

 

Long_Float

Field elements

Field name

Range

Field data type

horizontal_drop_off_rate9

 

Long_Float

vertical_drop_off_rate10

 

Long_Float

Associated to (one-way) (inherited)

  • None.

Associated to (one-way)

  • None.

Associated by (one-way) (inherited)

  • None.

Associated by (one-way)

  • None.

Associated with (two-way) (inherited)

  • None.

Associated with (two-way)

  • None.

Composed of (two-way) (inherited)

Composed of (two-way)

Composed of (two-way metadata) (inherited)

  • None.

Composed of (two-way metadata)

  • None.

Component of (two-way) (inherited)

Component of (two-way)

  • None.

Constraints

Clarifications

1 For a <DRM Light Source> instance (that is, an instance of one of the concrete classes descended from the class) that is a component of some <DRM Aggregate Geometry>, apply_to_children provides a mechanism for limiting the scope of the <DRM Light Source>. If apply_to_children is TRUE, only <DRM Primitive Geometry> in the component tree of those <DRM Aggregate Geometry> instances are affected by the given <DRM Light Source>. If apply_to_children is FALSE, the <DRM Light Source> is not limited to the scope of those <DRM Aggregate Geometry> instances and thus applies globally.

2 For a <DRM Light Source> instance that is a component of some <DRM Aggregate Geometry>, override_positional_lights provides a mechanism to indicate with a value of TRUE that the effect of the given <DRM Light Source> overrides that of any <DRM Base Positional Light> instances that would have otherwise applied to that <DRM Aggregate Geometry> - for example, if the given <DRM Light Source> is so close to the affected <DRM Geometry> that the <DRM Base Positional Light> effects would be negligible. If override_positional_lights = FALSE, the effect of the given <DRM Light Source> is combined with that of any <DRM Base Positional Light> instances that are already in effect.

3 For a <DRM Light Source> instance (that is, an instance of one of the concrete classes descended from the class) that is a component of some <DRM Aggregate Geometry>, override_infinite_lights provides a mechanism to indicate with a value of TRUE that the effect of the given <DRM Light Source> overrides that of any <DRM Infinite Light> instances that would have otherwise applied to that <DRM Aggregate Geometry>. If override_infinite_lights = FALSE, the effect of the given <DRM Light Source> is combined with that of any <DRM Infinite Light> instances that are already in effect.

4 A value of TRUE indicates that the light is on, while a value of FALSE indicates that the light is off. For a <DRM Light Source> with a <DRM Light Source Control Link> instance as a component, this is the default state of the light.

5 This radius, which is specified in metres, together with the <DRM 3D Location> component defines the zone of influence of the given <DRM Base Positional Light> instance.

6 This is the constant “a” in the attenuation quadratic (a + bd + cd**2).

7 This is the constant “b” in the attenuation quadratic (a + bd + cd**2).

8 This is the constant “c” in the attenuation quadratic (a + bd + cd**2).

9 This specifies, in degrees of arc, the horizontal angular intensity distribution of the light. The higher this value, the more focused the light.

A value of 0,0 specifies a light that equally illuminates all objects within the cone of influence, and instantly falls to an intensity of 0,0 at the edge of the cone of light.

10 This specifies, in degrees of arc, the vertical angular intensity distribution of the light. The higher this value, the more focused the light.

A value of 0,0 specifies a light that equally illuminates all objects within the cone of influence, and instantly falls to an intensity of 0,0 at the edge of the cone of light.

11 If a <DRM Light Source> instance is subject to dynamic control - that is, if it can be turned on and off - it will have a <DRM Light Source Control Link> component to express that control mechanism.

12 This specifies the position of the given <DRM Base Positional Light> instance.

13 This specifies the lobe shape.

Example(s)