Table 6.324—DRM_Volume_Light_Behaviour

Property

Description

Superclass

·         DRM_Light_Rendering_Behaviour

Class

·         <DRM Volume Light Behaviour>

Subclass

·         none

Definition

A <DRM Volume Light Behaviour> is a light behaviour whose colour varies depending on the viewer’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.

Example(s)

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

if:
      eye_distance_from_light = the distance of the viewing               position from the light
      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 viewer position from the light is a distance of 500 meters 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 viewer position from the light is 3000 meters, the final_intensity is 1,0 (using the secondary colour) because the viewer is outside the volume and there is a secondary colour on the <DRM Volume Light Behaviour>.

·         The <DRM Volume Light Behaviour> has a primary colour that is an <DRM Inline Colour> (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 center of the volume and the <DRM Volume Extent> is a <DRM Spherical Volume Extent> with a radius of 1000 meters.

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

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

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

 

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)

·         one <DRM Location 3D>3

·         one <DRM Volume Extent>4

·         zero or one <DRM World Transformation>5

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 within the volume. If this flag is FALSE, the intensity of the light decreases (towards the minimum_colour_intensity value) as the viewer moves away from the light. The intensity of the light would reach the minimum_colour_intensity value when the viewer reaches the boundary of the volume.

2 This value (between 0,0 and 1,0) is used in conjunction with the intensity value of the primary colour. If the primary colour is a <DRM Colour_Index>, the full intensity will be the intensity attribute of that class. If the primary colour is a <DRM Inline_Colour>, the full intensity is 1,0. If the viewer location is the same as that of the light then the viewer receives the full (intensity) value. As the viewer moves away from the light (but are still within the volume), the intensity decreases toward the minimum_colour_intensity value (unless the use_full_intensity flag is TRUE). Once the viewer gets outside the volume, the intensity is that of the minimum_colour_intensity value. If the minimum_colour_intensity value is 0,0 and the viewer is outside the volume, the secondary colour will be seen. If no secondary colour is used, nothing will be seen.

3 Volume center.

4 Volume shape.

5 To locate and orient a <DRM Volume> within a world coordinate system.

Class diagram

<DRM Volume Light Behaviour>