13 #pragma warning( push )
14 #pragma warning( disable : 4251 )
24 #include <tbb/mutex.h>
54 virtual void destroyLight(
DtLight* pLight);
57 virtual size_t numLights(
void)
const;
60 virtual DtLight* light(
size_t index);
63 virtual const VectorLights& allLights(
void)
const;
66 virtual bool lightExists(
const DtLight* pLight)
const;
75 virtual void getClosestLights(VectorLights& closestLights
79 virtual const VectorLights& frustumAffectingLights(
void)
const;
82 virtual void setlodDistance(
float fDistance);
85 virtual float lodDistance(
void)
const;
88 virtual float lodDistanceSquared(
void)
const;
94 virtual void lightUpdated(
const DtLight* pLight);
97 virtual void lightBoundsUpdated(
const DtLight* pLight);
100 virtual void lightDestroyed(
const DtLight* pLight);
103 virtual void createOctreeNode(
DtLight* pLight);
106 virtual void destroyOctreeNode(
DtLight* pLight);
113 virtual void findVisibleObjects(
const Camera_64* pCamera);
138 #pragma warning( pop )
LightManager class which allows creation/deletion of lights.
Definition: DtLightManager.h:30
OctreeNode class.
Definition: DtOctreeNode.h:21
float myLODDistance
Definition: DtLightManager.h:131
OctreeNode forward declarations.
VectorLights myFrustumAffectingLightsSortingScratchPad
Definition: DtLightManager.h:129
bool mybVectorLightsdirty
Definition: DtLightManager.h:121
VectorLights myFrustumAffectingLights
Definition: DtLightManager.h:127
Camera forward declarations.
Axis Aligned Bounding Box class.
Octree_64::NodeVector myVisibleOctreeNodes
Definition: DtLightManager.h:126
Template for 32/64 bit Cameras.
Definition: DtCamera.h:43
VectorLights myVectorLights
Definition: DtLightManager.h:122
LightType
Definition: DtLight.h:34
Octree datastructure for managing scene nodes.
Definition: DtOctree.h:27
std::vector< DtOctreeNode< T > * > NodeVector
Definition: DtOctree.h:79
ListLights myLights
Definition: DtLightManager.h:119
OctreeNode forward declarations.
Class for generic lights This holds per-light data such as range, attenuation factors, colors, etc.
Definition: DtLight.h:52
#define DT_DLL_VRVGRAPHICSUTILS
Definition: vrvGraphicsUtils.h:18
Helpers to easily define forward declarations.
tbb::mutex myOctreeMutex
Definition: DtLightManager.h:133
Octree_64 * myOctree
Definition: DtLightManager.h:124