The SEDRIS Data Representation Model
APPENDIX A - Classes
Directional Light Behaviour

Abstract Class Name: Directional Light Behaviour

Superclass - <Light Rendering Behaviour>

Subclasses

Definition

An instance of this DRM class specifies a directional light having a direction and lobe shape defined by a <Lobe Data> component L. The lobe shape parameters are used by subclasses to specify shapes such as cones and pyramids.

The location of the light is specified by the <Location> component. The direction at which the light is pointed is specified by the <Reference Vector> component of L that has a vector_type field value of SE_REFVEC_LIGHT_DIRECTION. The up axis of the light is specified by the <Reference Vector> component of L that has a vector_type field value of SE_REFVEC_VERTICAL_AXIS. The SE_REFVEC_VERTICAL_AXIS vector specifies the rotational orientation of the light around the SE_REFVEC_LIGHT_DIRECTION vector. These provide the necessary information to position the light in the currently applicable SRF, orient the light with respect to its SE_REFVEC_VERTICAL_AXIS vector, and identify the direction in which the light is pointing. The lobe shape is centred horizontally and vertically around the SE_REFVEC_LIGHT_DIRECTION vector, with origin at the location specified by the <Location> component.

Directional lights can have both a primary and a secondary colour. These are specified by the <Colour> components of the parent <Geometry Representation> instance that have colour_mapping values of Primary_Light_Rendering_Behaviour and Secondary_Light_Rendering_Behaviour, respectively.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

Example

See concrete subclasses for examples.

FAQs

How can a simple bi-directional light be represented?

This can be done using either a <Cone Directional Light> instance or a <Pyramid Directional Light> instance with primary and secondary colours. Set the horizontal and vertical widths of the lobe to π radians and invisible_behind to SE_TRUE.

Why does <Directional Light Behaviour> have a required <Location> component? Is it the location of the light?

No; it does not represent the location of any light(s) that use this behaviour. It is the reference location for the direction of the light (as expressed the <Reference Vector> components of the <Lobe Data>).

In most SRFs, directions shall refer to a location to account for the curvature of the earth. Even in linear space SRFs, localized directions may be important (See Example 1).

Constraints

Composed of (two-way)

Component of (two-way) (inherited)

Inherited Field Elements

This class has no inherited field elements.

Notes

Composed of Notes


Lobe_Data

The <Lobe Data> component specifies the lobe shape.


Prev: Diffuse Colour. Next: Distance LOD Data. Up:Index.