Table 6.300 — DRM_Volume_Light_Behaviour

Property

Description

Class

  • <DRM Volume Light Behaviour>

Superclass

Subclass

  • None.

Definition

An instance of this DRM class is a <DRM Light Rendering Behaviour> instance, the colour of which varies depending on the observer’s position relative to the light’s location and to the volume’s geometry. The volume surrounds the light. Within the volume, the light has the primary colour; outside the volume, it takes the secondary colour.

If TRUE, the use_full_intensity field specifies that the full intensity of the light is shown within the volume. Otherwise, the intensity of the light decreases towards the minimum_colour_intensity value) as the observer moves away from the light. The intensity of the light reaches the minimum_colour_intensity value when the observer reaches the boundary of the volume.

The value of the minimum_colour_intensity field is used in conjunction with the intensity value of the primary colour. If the primary colour is a <DRM Colour Index> instance, the full intensity is the intensity attribute of that instance. If the primary colour is an <DRM Inline Colour>, the full intensity is 1,0.

If the observer’s location is the same as that of the light, it receives the full intensity value. As the observer moves away from the light, but is still within the volume, the intensity decreases toward the minimum_colour_intensity value, unless use_full_intensity = TRUE. Once the observer is outside the volume, the intensity is that of the minimum_colour_intensity value. If the minimum_colour_intensity value is 0,0 and the observer is outside the volume, the secondary colour will be seen. If no secondary colour is used, nothing will be seen.

Clarifications

1 This specifies the centre of the volume.

2 This specifies the shape of the volume.

Class diagram

Figure 6.358 — DRM_Volume_Light_Behaviour

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

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)

  • None.

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

Example(s)

  • The <DRM Volume Light Behaviour> instance has a primary colour that is a <DRM Colour Index> instance specifying an intensity attribute of 0,95. The <DRM Volume Light Behaviour> instance also has a secondary colour. The minimum_colour_intensity is 0,0. The use_full_intensity flag is FALSE. The light is in the centre of the volume and the volume is a <DRM Parallelepiped Volume Extent> instance representing a cube measuring 2000m per side.

    If:

    eye_distance_from_light  = the distance of the viewing position from the light, and
    volume_distance_from_light = the distance between the light and the volume boundary along the same vector

    then:

    final_intensity = minimum_colour_intensity
                      + (((volume_distance_from_light -
                           eye_distance_from_light)
                          / volume_distance_from_light)
                         × (full_intensity
                            - minimum_colour_intensity))

    If the observer’s position from the light is a distance of 500m along a vector from the light to a corner of the volume, the final_intensity is:

    0,614 = 0,0 + (((1414,2 - 500,0) / 1414,2) × (0,95 - 0,0))

    If the observer’s position from the light is 3000m, the final_intensity is 1,0 (using the secondary colour) because the observer is outside the volume and there is a secondary colour on the <DRM Volume Light Behaviour> instance.

  • The <DRM Volume Light Behaviour> instance has a primary colour that is an <DRM Inline Colour> instance (which makes the full intensity 1,0). The minimum_colour_intensity is 0,5. The use_full_intensity flag is TRUE. The light is in the centre of the volume and the <DRM Volume Extent> instance is a <DRM Spherical Volume Extent> instance with a radius of 1000m.

    If the observer’s distance from the light is a distance of 100m, the final_intensity is 1,0 since the observer’s position is inside the volume and the use_full_intensity flag is set to TRUE.

    If the observer’s distance from the light is a distance of 0,0 units, the final_intensity is 1,0 since the observer’s position is inside the volume and the use_full_intensity flag is set to TRUE.