Classes |
| struct | iBaseHalo |
| | This is the basic interface for all types of halos. More...
|
| struct | iCrossHalo |
| | This is a halo which resembles a cross. More...
|
| struct | iFlareHalo |
| | This is a halo which resembles a (solar) flare. More...
|
| struct | iLight |
| | The iLight interface is the SCF interface for the csLight class. More...
|
| struct | iLightCallback |
| | Set a callback which is called when this light color is changed. More...
|
| struct | iLightIterator |
| | Iterator to iterate over all static lights in the engine. More...
|
| struct | iLightList |
| | This structure represents a list of lights. More...
|
| struct | iLightManager |
| | An engine (3D or iso) can implement this interface for the benefit of mesh objects so that they can request lighting information from the engine. More...
|
| struct | iNovaHalo |
| | This is a halo which resembles a nova. More...
|
Defines |
| #define | CS_DEFAULT_LIGHT_LEVEL 20 |
| | Light level that is used when there is no light on the texture.
|
| #define | CS_NORMAL_LIGHT_LEVEL 128 |
| | Light level that corresponds to a normally lit texture.
|
Enumerations |
| enum | csHaloType { cshtCross,
cshtNova,
cshtFlare
} |
| | The possible halo-types. More...
|
| enum | csLightType { CS_LIGHT_POINTLIGHT,
CS_LIGHT_DIRECTIONAL,
CS_LIGHT_SPOTLIGHT
} |
| | Type of lightsource. More...
|
Light flags |
| #define | CS_LIGHT_NOSHADOWS 0x00000001 |
| | Indicates that a light should not cast shadows.
|
| #define | CS_LIGHT_ACTIVEHALO 0x80000000 |
| | If this flag is set, the halo for this light is active and is in the engine's queue of active halos.
|
Light Dynamic Types |
| enum | csLightDynamicType { CS_LIGHT_DYNAMICTYPE_STATIC = 1,
CS_LIGHT_DYNAMICTYPE_PSEUDO = 2,
CS_LIGHT_DYNAMICTYPE_DYNAMIC = 3
} |
Attenuation modes |
Attenuation controls how the brightness of a light fades with distance.
Apart from the attenuation mode there are one to tree constants, which change meaning depending on attenuation mode. There are five attenuation formulas: (distance is distance between point for which lighting is computed and the light)
- no attenuation = light * 1
- linear attenuation = light * (1 - distance / constant1)
- inverse attenuation = light / distance
- realistic attenuation = light / distance^2
- CLQ, Constant Linear Quadratic = light / (constant1 + constant2*distance + constant3*distance^2)
|
| enum | csLightAttenuationMode {
CS_ATTN_NONE = 0,
CS_ATTN_LINEAR = 1,
CS_ATTN_INVERSE = 2,
CS_ATTN_REALISTIC = 3,
CS_ATTN_CLQ = 4
} |