The SEDRIS Data Representation Model
APPENDIX A - Classes Infinite Light |
---|
An instance of this DRM class is a <Light Source> that is considered to be located infinitely far away. It illuminates uniformly along a particular direction. Colour and control are inherited from <Light Source>. An <Infinite Light> has no bound of influence and so affects all components of any <Aggregate Geometry> that references it.
Consider an <Environment Root> instance that has a <Spatial Index Related Geometry> component, representing the terrain in its transmittal. The <Spatial Index Related Geometry> has an <Infinite Light> component, representing the sun.
No FAQs supplied.
SE_Boolean | apply_to_children; | (notes) |
---|---|---|
SE_Boolean | override_positional_lights; | (notes) |
SE_Boolean | override_infinite_lights; | (notes) |
SE_Boolean | active_light_value; | (notes) |
If a <Light Source> instance is subject to dynamic control - that is, if it can be turned on and off - it will have a <Light Source Control Link> component to express that control mechanism.
This specifies the direction of light source illumination, and its vector_type = SE_REF_VEC_TYP_LIGHT_DIRECTION.
For a <Light Source> instance (that is, an instance of one of the concrete classes descended from the class) that is a component of some <Aggregate Geometry>, apply_to_children provides a mechanism for limiting the scope of the <Light Source>. If apply_to_children is SE_TRUE, only <Primitive Geometry> in the component tree of those <Aggregate Geometry> instances are affected by the given <Light Source>. If apply_to_children is SE_FALSE, the <Light Source> 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>, override_positional_lights provides a mechanism to indicate with a value of SE_TRUE that the effect of the given <Light Source> overrides that of any <Base Positional Light> instances that would have otherwise applied to that <Aggregate Geometry> - for example, if the given <Light Source> is so close to the affected <Geometry Representation> that the <Base Positional Light> effects would be negligible. If override_positional_lights = SE_FALSE, the effect of the given <Light Source> is combined with that of any <Base Positional Light> instances that are already in effect.
For a <Light Source> instance (that is, an instance of one of the concrete classes descended from the class) that is a component of some <Aggregate Geometry>, override_infinite_lights provides a mechanism to indicate with a value of SE_TRUE that the effect of the given <Light Source> overrides that of any <Infinite Light> instances that would have otherwise applied to that <Aggregate Geometry>. If override_infinite_lights = SE_FALSE, the effect of the given <Light Source> 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> with a <Light Source Control Link> instance as a component, this is the default state of the light.
|