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
} |