CrystalSpace

Public API Reference

iengine/light.h File Reference

Light interfaces. More...

#include "csutil/scf.h"
#include "iengine/fview.h"

Go to the source code of this file.

Classes

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  iLightingProcessData
 The iLightingProcessData interface can be implemented by a mesh object so that it can attach additional information for the lighting process. More...
struct  iLightingProcessInfo
 The iLightingProcessInfo interface holds information for the lighting system. More...
struct  iLightIterator
 Iterator to iterate over all static lights in the engine. More...
struct  iLightList
 This structure represents a list of lights. 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.
Light flags

#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.

Enumerations

enum  csLightType { CS_LIGHT_POINTLIGHT, CS_LIGHT_DIRECTIONAL, CS_LIGHT_SPOTLIGHT }
 

Type of lightsource.

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

Detailed Description

Light interfaces.

Definition in file light.h.


Generated for Crystal Space 1.4.1 by doxygen 1.7.1