BasicLightManager Class Reference#include <basicLightManager.h>
Inheritance diagram for BasicLightManager:
[legend]List of all members.
|
Public Member Functions |
| BasicLightManager () |
virtual | ~BasicLightManager () |
virtual bool | canActivate () |
virtual void | activate () |
virtual void | deactivate () |
virtual const char * | getId () const |
virtual AvailableSLInterfaces * | getSceneLightingInterface () |
virtual LightInfo * | createLightInfo () |
virtual LightInfo * | getDefaultLight () |
virtual BasicLightInfo * | createBasicLightInfo () |
virtual LightInfo * | getSpecialLight (LightManager::SpecialLightTypesEnum type) |
virtual void | setSpecialLight (LightManager::SpecialLightTypesEnum type, LightInfo *light) |
virtual void | registerGlobalLight (LightInfo *light, SimObject *obj, bool zonealreadyset) |
virtual void | unregisterGlobalLight (LightInfo *light) |
virtual void | registerLocalLight (LightInfo *light) |
virtual void | unregisterLocalLight (LightInfo *light) |
virtual void | registerGlobalLights (bool staticlighting) |
virtual void | unregisterAllLights () |
virtual void | getAllUnsortedLights (LightInfoList &list) |
| Returns all unsorted and un-scored lights (both global and local).
|
virtual void | setupLights (SceneObject *obj) |
| For DTS objects.
|
virtual void | setupLights (SceneObject *obj, const Point3F &camerapos, const Point3F &cameradir, F32 viewdist, S32 maxlights) |
| For the terrain and Atlas.
|
virtual void | setupLights (SceneObject *obj, const Box3F &box, S32 maxlights) |
| Finds the best lights that overlap with the bounding box based on the box center.
|
virtual void | getBestLights (LightInfoList &list) |
| Copies the best lights list - this DOESN'T find the lights! Call setupLights to populate the list.
|
virtual void | resetLights () |
| Reset the best lights list and all associated data.
|
virtual void | setLightInfo (ProcessedMaterial *pmat, const Material *mat, const SceneGraphData &sgData, U32 pass, GFXShaderConstBuffer *shaderConsts) |
| Sets shader constants / textures for light infos.
|
virtual bool | initTextureStateBlock (const U32 currTexFlag, const U32 textureSlot, GFXStateBlockDesc *stateblock) |
| 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) |
| Allows us to set textures during the Material::setTextureStage call, return true if we've done work.
|
bool | lightScene (const char *callback, const char *param) |
virtual void | hdrPrepare (const Point2I &offset, const Point2I &extent) |
virtual void | hdrRender () |
Static Public Member Functions |
static BasicLightManager * | get () |
static void | cleanup () |
static AvailableSLInterfaces * | getBLSceneLightingInterface () |
Public Attributes |
Signal< void(bool)> | mActivate |
Private Types |
typedef LightManager | Parent |
Private Attributes |
BasicLightInfo * | mDefaultLight |
BasicLightInfo * | mSpecialLights [LightManager::slSpecialLightTypesCount] |
BasicLightInfo * | mTranslatedSun |
Map< GFXShader *, LightingShaderConstants > | mConstantLookup |
GFXShader * | mLastShader |
LightingShaderConstants * | mLastConstants |
Static Private Attributes |
static BasicLightManager * | smBasicLightManagerSingleton |
static AvailableSLInterfaces * | smAvailableSLInterfaces |
Classes |
struct | LightingShaderConstants |
Member Typedef Documentation
Constructor & Destructor Documentation
BasicLightManager::BasicLightManager |
( |
|
) |
|
virtual BasicLightManager::~BasicLightManager |
( |
|
) |
[virtual] |
Member Function Documentation
static void BasicLightManager::cleanup |
( |
|
) |
[static] |
virtual bool BasicLightManager::canActivate |
( |
|
) |
[virtual] |
virtual void BasicLightManager::activate |
( |
|
) |
[virtual] |
virtual void BasicLightManager::deactivate |
( |
|
) |
[virtual] |
virtual const char* BasicLightManager::getId |
( |
|
) |
const [virtual] |
virtual LightInfo* BasicLightManager::createLightInfo |
( |
|
) |
[virtual] |
virtual LightInfo* BasicLightManager::getDefaultLight |
( |
|
) |
[virtual] |
virtual BasicLightInfo* BasicLightManager::createBasicLightInfo |
( |
|
) |
[virtual] |
virtual void BasicLightManager::unregisterGlobalLight |
( |
LightInfo * |
light |
) |
[inline, virtual] |
virtual void BasicLightManager::registerLocalLight |
( |
LightInfo * |
light |
) |
[inline, virtual] |
virtual void BasicLightManager::unregisterLocalLight |
( |
LightInfo * |
light |
) |
[inline, virtual] |
virtual void BasicLightManager::registerGlobalLights |
( |
bool |
staticlighting |
) |
[virtual] |
virtual void BasicLightManager::unregisterAllLights |
( |
|
) |
[virtual] |
virtual void BasicLightManager::getAllUnsortedLights |
( |
LightInfoList & |
list |
) |
[virtual] |
Returns all unsorted and un-scored lights (both global and local).
Implements LightManager.
virtual void BasicLightManager::setupLights |
( |
SceneObject * |
obj |
) |
[inline, virtual] |
For DTS objects.
Finds the best lights including a composite based on the environmental ambient lighting amount *and installs them in OpenGL*.
Implements LightManager.
For the terrain and Atlas.
Finds the best lights in the viewing area based on distance to camera.
Implements LightManager.
virtual void BasicLightManager::setupLights |
( |
SceneObject * |
obj, |
|
|
const Box3F & |
box, |
|
|
S32 |
maxlights | |
|
) |
| | [inline, virtual] |
Finds the best lights that overlap with the bounding box based on the box center.
Implements LightManager.
Copies the best lights list - this DOESN'T find the lights! Call setupLights to populate the list.
Implements LightManager.
virtual void BasicLightManager::resetLights |
( |
|
) |
[inline, virtual] |
Reset the best lights list and all associated data.
Implements LightManager.
Sets shader constants / textures for light infos.
Implements LightManager.
virtual bool BasicLightManager::initTextureStateBlock |
( |
const U32 |
currTexFlag, |
|
|
const U32 |
textureSlot, |
|
|
GFXStateBlockDesc * |
stateblock | |
|
) |
| | [inline, virtual] |
Allows us to setup texture states, return true if we've done work.
Implements LightManager.
Allows us to set textures during the Material::setTextureStage call, return true if we've done work.
Implements LightManager.
bool BasicLightManager::lightScene |
( |
const char * |
callback, |
|
|
const char * |
param | |
|
) |
| | [virtual] |
virtual void BasicLightManager::hdrPrepare |
( |
const Point2I & |
offset, |
|
|
const Point2I & |
extent | |
|
) |
| | [inline, virtual] |
virtual void BasicLightManager::hdrRender |
( |
|
) |
[inline, virtual] |
Member Data Documentation
|