LightManager Class Reference#include <lightManager.h>
Inheritance diagram for LightManager:
[legend]List of all members.
|
Public Types |
| slSunLightType |
| slTranslatedSunlightType |
| slSpecialLightTypesCount |
enum | SpecialLightTypesEnum {
slSunLightType,
slTranslatedSunlightType,
slSpecialLightTypesCount
} |
Public Member Functions |
| LightManager () |
virtual | ~LightManager () |
bool | isActive () |
| Return true if light manager is currently activated.
|
virtual void | activate () |
virtual void | deactivate () |
virtual const char * | getId () const =0 |
virtual SceneGraph * | getSceneManager () |
virtual void | setSceneManager (SceneGraph *sceneManager) |
virtual AvailableSLInterfaces * | getSceneLightingInterface ()=0 |
virtual LightInfo * | createLightInfo ()=0 |
virtual LightInfo * | getDefaultLight ()=0 |
virtual LightInfo * | getSpecialLight (SpecialLightTypesEnum type)=0 |
virtual void | setSpecialLight (SpecialLightTypesEnum type, LightInfo *light)=0 |
virtual void | registerGlobalLight (LightInfo *light, SimObject *obj, bool zonealreadyset)=0 |
virtual void | unregisterGlobalLight (LightInfo *light)=0 |
virtual void | registerLocalLight (LightInfo *light)=0 |
virtual void | unregisterLocalLight (LightInfo *light)=0 |
virtual void | registerGlobalLights (bool staticlighting)=0 |
virtual void | unregisterAllLights ()=0 |
virtual void | getAllUnsortedLights (LightInfoList &list)=0 |
| Returns all unsorted and un-scored lights (both global and local).
|
virtual void | setupLights (SceneObject *obj)=0 |
| For DTS objects.
|
virtual void | setupLights (SceneObject *obj, const Point3F &camerapos, const Point3F &cameradir, F32 viewdist, S32 maxlights)=0 |
| For the terrain and Atlas.
|
virtual void | setupLights (SceneObject *obj, const Box3F &box, S32 maxlights)=0 |
| Finds the best lights that overlap with the bounding box based on the box center.
|
virtual void | getBestLights (LightInfoList &list)=0 |
| Copies the best lights list - this DOESN'T find the lights! Call setupLights to populate the list.
|
virtual void | resetLights ()=0 |
| Reset the best lights list and all associated data.
|
virtual void | setLightInfo (ProcessedMaterial *pmat, const Material *mat, const SceneGraphData &sgData, U32 pass, GFXShaderConstBuffer *shaderConsts)=0 |
| Sets shader constants / textures for light infos.
|
virtual bool | initTextureStateBlock (const U32 currTexFlag, const U32 textureSlot, GFXStateBlockDesc *stateblock)=0 |
| Allows us to setup texture states, return true if we've done work.
|
virtual bool | setTextureStage (const SceneGraphData &sgData, const U32 currTexFlag, const U32 textureSlot, GFXShaderConstBuffer *shaderConsts, ShaderConstHandles *handles)=0 |
| Allows us to set textures during the Material::setTextureStage call, return true if we've done work.
|
virtual bool | lightScene (const char *callback, const char *param) |
virtual bool | canActivate () |
virtual void | hdrPrepare (const Point2I &offset, const Point2I &extent)=0 |
virtual void | hdrRender ()=0 |
Private Attributes |
SceneGraph * | mSceneManager |
bool | mIsActive |
Member Enumeration Documentation
- Enumerator:
-
slSunLightType |
|
slTranslatedSunlightType |
|
slSpecialLightTypesCount |
|
Constructor & Destructor Documentation
LightManager::LightManager |
( |
|
) |
|
virtual LightManager::~LightManager |
( |
|
) |
[inline, virtual] |
Member Function Documentation
bool LightManager::isActive |
( |
|
) |
[inline] |
Return true if light manager is currently activated.
virtual void LightManager::activate |
( |
|
) |
[virtual] |
virtual void LightManager::deactivate |
( |
|
) |
[virtual] |
virtual const char* LightManager::getId |
( |
|
) |
const [pure virtual] |
virtual SceneGraph* LightManager::getSceneManager |
( |
|
) |
[virtual] |
virtual void LightManager::setSceneManager |
( |
SceneGraph * |
sceneManager |
) |
[virtual] |
virtual LightInfo* LightManager::createLightInfo |
( |
|
) |
[pure virtual] |
virtual LightInfo* LightManager::getDefaultLight |
( |
|
) |
[pure virtual] |
virtual void LightManager::unregisterGlobalLight |
( |
LightInfo * |
light |
) |
[pure virtual] |
virtual void LightManager::registerLocalLight |
( |
LightInfo * |
light |
) |
[pure virtual] |
virtual void LightManager::unregisterLocalLight |
( |
LightInfo * |
light |
) |
[pure virtual] |
virtual void LightManager::registerGlobalLights |
( |
bool |
staticlighting |
) |
[pure virtual] |
virtual void LightManager::unregisterAllLights |
( |
|
) |
[pure virtual] |
virtual void LightManager::getAllUnsortedLights |
( |
LightInfoList & |
list |
) |
[pure virtual] |
virtual void LightManager::setupLights |
( |
SceneObject * |
obj |
) |
[pure virtual] |
For DTS objects.
Finds the best lights including a composite based on the environmental ambient lighting amount *and installs them in OpenGL*.
Implemented in BasicLightManager, and sgLightManager.
virtual void LightManager::resetLights |
( |
|
) |
[pure virtual] |
virtual bool LightManager::initTextureStateBlock |
( |
const U32 |
currTexFlag, |
|
|
const U32 |
textureSlot, |
|
|
GFXStateBlockDesc * |
stateblock | |
|
) |
| | [pure virtual] |
virtual bool LightManager::lightScene |
( |
const char * |
callback, |
|
|
const char * |
param | |
|
) |
| | [virtual] |
virtual bool LightManager::canActivate |
( |
|
) |
[virtual] |
virtual void LightManager::hdrPrepare |
( |
const Point2I & |
offset, |
|
|
const Point2I & |
extent | |
|
) |
| | [pure virtual] |
virtual void LightManager::hdrRender |
( |
|
) |
[pure virtual] |
Member Data Documentation
|