The SEDRIS Data Representation Model
APPENDIX A - Classes Light Source |
---|
An instance of this DRM class specifies a source of light emission.
See individual subclasses for examples.
This definition does not attempt to address linear or area light sources; it is fashioned after the OpenGL abstraction of light.
Only light sources specific to CIG lighting have been addressed.
SE_Boolean | apply_to_children; | 3 |
---|---|---|
SE_Boolean | override_positional_lights; | 4 |
SE_Boolean | override_infinite_lights; | 5 |
SE_Boolean | active_light_value; | 6 |
For a <Light Source> instance that is a component of some <Aggregate Geometry> instance(s), apply_to_children provides a mechanism for limiting the scope of the <Light Source> instance. If apply_to_children is SE_TRUE, only <Primitive Geometry> instances in the component tree of those <Aggregate Geometry> instances are affected by the <Light Source> instance. If apply_to_children is SE_FALSE, the <Light Source> instance is not limited to the scope of those <Aggregate Geometry> instances and thus applies globally.
For a <Light Source> instance that is a component of some <Aggregate Geometry> instance, override_positional_lights provides a mechanism to indicate with a value of SE_TRUE that the effect of the <Light Source> instance overrides that of any <Base Positional Light> instances that would have otherwise applied to that <Aggregate Geometry> instance.
EXAMPLE This might be appropriate if the <Light Source> instance is so close to the affected <Geometry Representation> instance(s) that the effects of the <Base Positional Light> instances would be negligible.
If override_positional_lights = SE_FALSE, the effect of the <Light Source> instance is combined with that of any <Base Positional Light> instances that are already in effect.
For a <Light Source> instance that is a component of some <Aggregate Geometry> instance, override_infinite_lights provides a mechanism to indicate with a value of SE_TRUE that the effect of the <Light Source> instance overrides that of any <Infinite Light> instances that would have otherwise applied to that <Aggregate Geometry> instance. If override_infinite_lights = SE_FALSE, the effect of the <Light Source> instance is combined with that of any <Infinite Light> instances that are already in effect.
A value of SE_TRUE for the active_light_value field indicates that the light is on, while a value of SE_FALSE indicates that the light is off. For a <Light Source> instance with a <Light Source Control Link> component X, the value of the active_light_value field is obtained from X.
|