Table 6.210 — DRM_Pyramid_Directional_Light

Property

Description

Class

  • <DRM Pyramid Directional Light>

Superclass

Subclass

  • None.

Definition

An instance of this DRM class specifies a light, the intensity of which varies depending on the observer’s position relative to the light’s location, direction, and lobe, which is pyramid-shaped.

It is possible when defining the <DRM Lobe Data> component of a <DRM Pyramid Directional Light>, to set the horizontal_width or vertical_width to 0. When one of these values is set to 0, the value infinity is implied there are no bounds in that direction. The shape of the light then becomes a wedge shape.

If a secondary colour exists, it is seen outside the lobe.

If TRUE, the use_full_intensity field specifies that the full intensity of the light is shown in the pyramid shaped area. Otherwise, the intensity of the light decreases (towards the minimum_colour_intensity value) as one moves away from the LIGHT_DIRECTION vector.

This value is used in conjunction with the primary colour’s intensity value. If the primary colour is specified by a <DRM Colour Index> instance, the full intensity is specified by its intensity_level field. If the primary colour is specified by a <DRM Inline Colour> instance, the full intensity is 1,0.

A location in the direct path of the <DRM Lobe Data> instance’s LIGHT_DIRECTION vector receives the full intensity value. If use_full_intensity is FALSE, the intensity decreases with increasing distance from the light direction vector, until the boundary specified by the horizontal and vertical <DRM Lobe Data> instance widths is reached. Outside the lobe, the intensity is minimum_colour_intensity.

If the minimum_colour_intensity value is 0,0, the secondary colour (if present) shall be seen outside the lobe. If no secondary colour is present, then nothing shall be visible outside the lobe.

If the value of invisible_behind is TRUE, the directional light is invisible when viewed from behind the plane of the directional light. Otherwise, it is visible.

Clarifications

1 This specifies the lobe shape.

Class diagram

Figure 6.246 — DRM_Pyramid_Directional_Light

Inherited field elements

Field name

Range

Field data type

None

   

Field elements

Field name

Range

Field data type

use_full_intensity

 

Boolean

minimum_colour_intensity

[0,0..1,0]

Long_Float

invisible_behind

 

Boolean

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)

  • None.

Composed of (two-way metadata) (inherited)

  • None.

Composed of (two-way metadata)

  • None.

Component of (two-way) (inherited)

Component of (two-way)

  • None.

Constraints

Example(s)

  • Consider a <DRM Pyramid Directional Light> instance with a primary colour that is a <DRM Colour Index> instance with intensity_level = 0,9, and which also has a secondary colour. The minimum_colour_intensity is 0,0. The use_full_intensity flag is FALSE. The <DRM Lobe Data> component has horizontal_width = 60,0 and vertical_width = 60,0.

    The equation for computing the final intensity is:

    final_intensity = minimum_colour_intensity
                      + ((((width / 2,0)
                      - degrees_away_from_direction_vector)
                      / (width / 2,0)) × (full_intensity
                      - minimum_colour_intensity))

    At 10 degrees from the light direction vector in the horizontal direction, the final_intensity is:

    0,6 = 0,0
          + ((((60,0 / 2,0)
          - 10,0)
          / (60,0 / 2,0)) × (0,9
          - 0,0))

    At 35 degrees from the light direction vector in the horizontal direction, the final_intensity  is 1,0 (using the secondary colour), because this lies outside the lobe.

  • Consider a <DRM Pyramid Directional Light> instance with a primary colour that is specified by an <DRM Inline Colour> instance, so that the full intensity is 1,0. The minimum_colour_intensity is 0,2. The use_full_intensity flag is TRUE. The component <DRM Lobe Data> horizontal_width is 20,0 and the vertical_width is 20,0.

    Lying on the light direction vector (that is, at 0 degrees), the final_intensity is 1,0.

    At 10 degrees from the light direction vector in the horizontal direction, the final_intensity is 0,2, since this position is outside the lobe.