Table 6.17 — DRM_Base_Positional_Light

Property

Description

Class

  • <DRM Base Positional Light>

Superclass

Subclass

Definition

An instance of this DRM class is a <DRM Light Source> instance that radiates in all directions from a specified point in 3D space with a sphere of influence centred at that point, the radius of which is specified by the value of the radius field.

Only objects that are within the sphere of influence of a <DRM Base Positional Light> instance can be affected by that <DRM Base Positional Light> instance. Specific subclasses may further restrict the zone of influence to only a portion of the sphere.

The degree to which an object is affected in the zone of influence depends on the attenuation of the <DRM Base Positional Light> instance, which depends on the values of its attenuation factor fields. If attenuation is not specified - that is, when constant_attenuation_factor = 1,0, linear_attenuation_factor = 0,0, and quadratic_attenuation_factor = 0,0 - the light ends abruptly at the edge of the sphere of influence. Otherwise, the light intensity components (ambient, diffuse, and specular) are attenuated by the reciprocal of the attenuation quadratic (a + bd + cd2), where a, b, c are the attenuation factor field values as noted in their footnotes, and d is the distance from the position of the <DRM Base Positional Light> instance to the position on the DRM object for which the lighting model is being applied.

Consequently, the formula for the final attenuation factor is:

          1,0         
 (a + bd + cd2)

The radius field, which is specified in metres, together with the <DRM Location 3D> component specifies the zone of influence of the <DRM Base Positional Light> instance.

The constant_attenuation_factor field is the constant “a” in the attenuation quadratic (a + bd + cd2).

The linear_attenuation_factor field is the constant “b” in the attenuation quadratic (a + bd + cd2).

The quadratic_attenuation_factor field is the constant “c” in the attenuation quadratic (a + bd + cd2).

Class diagram

Figure 6.16 — DRM_Base_Positional_Light

Inherited field elements

Field name

Range

Field data type

apply_to_children

 

Boolean

override_positional_lights

 

Boolean

override_infinite_lights

 

Boolean

active_light_value

 

Boolean

Field elements

Field name

Range

Field data type

radius

≥ 0,0

Float

constant_attenuation_factor

 

Long_Float

linear_attenuation_factor

 

Long_Float

quadratic_attenuation_factor

 

Long_Float

Default field values

Default field values for DRM_Base_Positional_Light

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

1A <DRM Classification Data> component, if present, allows a data provider to specify whether the <DRM Light Source> instance represents an environmental object, such as the sun.

2If a <DRM Light Source> instance is to be turned on and off dynamically, it has a <DRM Light Source Control Link> component to express that control mechanism.

3The <DRM Location 3D> component specifies the position of the <DRM Base Positional Light> instance.

Example(s)

  • See concrete subclasses for examples.