Table 6.223—DRM_Pyramid_Directional_Light

Property

Description

Superclass

·         <DRM Directional Light Behavior>

Class

·         <DRM Pyramid Directional Light>

Subclass

·         none

Definition

An object of this DRM class specifies a light whose intensity 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 zero, it means infinity and that 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.

Example(s)

·         The <DRM Pyramid Directional Light> has a primary color that is a <DRM Colour Index> with an intensity field of 0.9. The <DRM Pyramid Directional Light> also has a secondary color. The minimum_color_intensity is 0.0. The use_full_intensity flag is FALSE. The lobe_data.horizontal_width is 60 and the lobe_data.vertical_width is 60.

equation:

final_intensity = minimum_color_intensity + ((((lobe_data.width / 2.0) - degrees_away_from_direction_vector) / (lobe_data.width / 2.0)) * (full_intensity - minimum_color_intensity))

If the viewer position from the light_direction_vector is 10 degrees 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))

If the viewer position from the light_direction_vector is 35 degrees in the horizontal direction then the final_intensity is 1.0 (using the secondary color) because the viewer is outside the horizontal width and there is a secondary color on the <DRM Pyramid Directional Light>.

·         The <DRM Pyramid Directional Light> has a primary color that is an <DRM Inline Colour> (which makes the full intensity 1.0). The minimum_color_intensity is 0.2. The use_full_intensity flag is TRUE. The lobe_data.horizontal_width is 20 and the lobe_data.vertical_width is 20.

If the viewer position from the light_direction_vector is 0 degrees in the horizontal direction, the final_intensity is 1.0 since the viewer position is exactly in the direction_vector.

If the viewer position from the light_direction_vector is 10 degrees in the horizontal direction, the final_intensity is 0.2 since the viewer is outside the horizontal width.

Inherited field elements

field_name

range

Field_Data_Type

none

 

 

Field elements

field_name

range

Field_Data_Type

use_full_intensity1

 

Boolean

minimum_colour_intensity2

[0,0,1,0]

Long_Float

invisible_behind3

 

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)

·         one <DRM Lobe Data>4

·         one <DRM Location>

Composed of (two-way)

·         none

Composed of (two-way metadata) (inherited)

·         none

Composed of (two-way metadata)

·         none

Component of (two-way) (inherited)

·         one or more <DRM Light Rendering Properties>s

Component of (two-way)

·         none

Constraints

·         none

Notes

1 A flag, if TRUE indicates that the full intensity of the light is shown in the cone shaped area. If this flag is FALSE, the intensity of the light decreases (towards the minimum_color_intensity value) as the viewer moves away from the direction vector.

2 This value (between 0.0 and 1.0) is used in conjunction with the intensity value of the primary color. If the primary color is a <DRM Color Index>, the full intensity will be the intensity field of that class. If the primary color is an <DRM Inline Color>, the full intensity is 1.0. If location of the viewer is in the direct path of the light_direction vector (from lobe_data), the viewer will receive the full (intensity) value. As the viewer moves away from the light_direction vector (but still lies within the horizontal and vertical widths), the intensity seen by the viewer decreases toward the minimum_color_intensity value (unless the use_full_intensity flag is TRUE). Once the viewer is outside the horizontal and vertical width area, the intensity is that of the minimum_color_intensity value. If the minimum_color_intensity value is 0.0 and the viewer is outside the vertical and horizontal widths, the secondary color will be seen. If no secondary color is used, nothing will be seen.

3 If this flag is TRUE, the directional light is not seen if the viewer is behind the plane of the directional light.

4 The lobe definition. It is possible when defining the lobe_data 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, it means infinity and that there are no bounds in that direction. The shape of the light then becomes a wedge shape.

Class diagram

<DRM Pyramid Directional Light>