24 #include <osgSim/LightPointNode>
26 #include <boost/thread.hpp>
42 class DtLightPointNode;
109 virtual DtLightPointNode *createLightPointNode(osg::Node *nodeRef,
bool daylightControlled);
123 virtual DtGlBuffer *lightPointNodeBuffer(osg::Camera* camera);
128 virtual DtGlBuffer *lightPointVertexBufer(
const std::vector<DtLightPointDrawable::LightPointVertexAttrib>& vertexAttribData,
int minChanged,
int maxChanged);
134 virtual void slot_preTick();
137 virtual void clearNodeBuffer(
const osg::Camera* camera);
140 unsigned int nodeBufferMaxNodeId(
const osg::Camera *camera);
148 virtual void processImGui();
154 virtual bool debugLabelsEnabled();
157 virtual bool debugDirectionEnabled();
160 virtual bool softerLightPointsEnabled();
163 virtual float softenIntensity();
167 virtual void setShouldReplaceOsgSimLightPoints(
bool enable);
171 virtual bool shouldReplaceOsgSimLightPoints();
174 virtual void freeNodeIds(std::vector<int> &nodeIds);
176 virtual void releaseGLObjects(osg::State * state)
const;
179 virtual void setInstanceReflectionMatrix(
const osg::Camera *camera,
const osg::Matrixf &reflectMat);
182 virtual const osg::Matrixf &instanceReflectionMatrix(
const osg::Camera *camera);
185 virtual bool drawLightPoints();
196 virtual void slot_reloadShaders();
199 virtual void setupShaders();
203 int parseNodeGroupId(osg::Node *lightPointNode);
206 std::string parseNodeGroupName(osg::Node *node);
float pixelSize[4]
Definition: DtOsgLightPointManager.h:56
std::map< nodeIntPair, int > NodeIdMap
Definition: DtOsgLightPointManager.h:220
Definition: DtOsgLightPointManager.h:51
osg::ref_ptr< DtLightPointDrawable > myMasterLightPointDrawable
Definition: DtOsgLightPointManager.h:226
DtGlBuffer * myLightPointNodeBuffer
Definition: DtOsgLightPointManager.h:215
boost::mutex myMutex
Definition: DtOsgLightPointManager.h:224
GroupIdMap myImGuiProcessedGroupIds
Definition: DtOsgLightPointManager.h:235
std::pair< DtLightPointNode *, int > nodeIntPair
Definition: DtOsgLightPointManager.h:219
struct for holding the fade parameters used by the indirect rendering cull compute shader ...
Definition: DtGpuCullingAndLodDefines.h:21
Contains makVrv::DtLightPointManager class.
bool myDebugLabelsEnabled
Definition: DtOsgLightPointManager.h:228
DtGlBuffer * myLightPointVertexBuffer
Definition: DtOsgLightPointManager.h:216
bool mySofterLightPointsEnabled
Definition: DtOsgLightPointManager.h:231
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
float intensity[4]
Definition: DtOsgLightPointManager.h:54
ParentGroupIdMap myImGuiGroups
Definition: DtOsgLightPointManager.h:238
osg::ref_ptr< osg::Node > LightPointNodeRef
Definition: DtOsgLightPointManager.h:48
float sectors[4]
Definition: DtOsgLightPointManager.h:55
std::map< std::string, GroupIdMap > ParentGroupIdMap
Definition: DtOsgLightPointManager.h:237
float radiusScale
Definition: DtOsgLightPointManager.h:67
float fadeParametersAttenuationDistance
Definition: DtOsgLightPointManager.h:71
Contains makVrv::DtInstanceManager declaration.
boost::signal< void(LightPointNodeObsSet &)> signal_lightPointsRegistered
Emitted when the terrain patch has light points added.
Definition: DtOsgLightPointManager.h:188
osg::Vec4f eyeLocal
Definition: DtOsgLightPointManager.h:64
DtOsgLightPointManager registers LightPoint nodes so their TBO can be created and updated in a single...
Definition: DtOsgLightPointManager.h:85
Definition: DtOsgLightPointManager.h:61
std::set< LightPointNodeObs > LightPointNodeObsSet
Definition: DtOsgLightPointManager.h:49
DtDe & myDtDe
Definition: DtOsgLightPointManager.h:244
Contains makVrv::DtLightPointDrawable class.
float mySoftenIntensity
Definition: DtOsgLightPointManager.h:232
Contains makVrv::DtVirtualBaseClass class.
GLuint64 textureId
Definition: DtOsgLightPointManager.h:69
NodeIdMap myNodeIds
Definition: DtOsgLightPointManager.h:221
CameraVectorMap myLightPointNodeDataMap
Definition: DtOsgLightPointManager.h:214
float fadeParametersMinRange
Definition: DtOsgLightPointManager.h:70
Utility class container for light point types.
bool myDebugDirectionEnabled
Definition: DtOsgLightPointManager.h:229
std::set< int > myFreeNodeIds
Definition: DtOsgLightPointManager.h:222
Derived from osg::Node and is a replacement for the osgSim::LightPointNode represents a group of ligh...
Definition: DtLightPointNode.h:33
float posScale
Definition: DtOsgLightPointManager.h:66
Class derived from osg::Drawable to handle all DtLightPointNode light points it gathers all the light...
Definition: DtLightPointDrawable.h:52
Declarations for classes used in DtICullingAndLOD.
float resIntensityDaylight2Unused[4]
Definition: DtOsgLightPointManager.h:57
A generic OpenGL buffer.
Definition: DtGlBuffer.h:25
DtGlBuffer * myLightPointTypeBuffer
Definition: DtOsgLightPointManager.h:210
Base class to provide boost signal/slot management.
bool myDrawLightPoints
Definition: DtOsgLightPointManager.h:233
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
int groupId
Definition: DtOsgLightPointManager.h:65
std::vector< LightPoint > LightPointVec
Definition: DtInstanceManager.h:286
LightPointNodeObsSet myLightPointNodes
Definition: DtOsgLightPointManager.h:242
float isInstancedReflection
Definition: DtOsgLightPointManager.h:68
std::map< const osg::Camera *, osg::Matrixf > myInstanceReflectionMatrix
Definition: DtOsgLightPointManager.h:240
std::map< const osg::Camera *, std::vector< float > > CameraVectorMap
Definition: DtOsgLightPointManager.h:213
DtGlBuffer * myLightPointGroupBuffer
Definition: DtOsgLightPointManager.h:211
float color[4]
Definition: DtOsgLightPointManager.h:53
osg::observer_ptr< osg::Node > LightPointNodeObs
typedef a map of light point nodes use observer pointers so when they are deleted we don't try to use...
Definition: DtOsgLightPointManager.h:43
bool myShouldReplaceOsgSimLightPoints
Definition: DtOsgLightPointManager.h:230
osg::Matrixf modelView
Definition: DtOsgLightPointManager.h:63
std::map< std::string, int > GroupIdMap
Definition: DtLightPointManager.h:35
DtLightPointManager core base class for DtOsgLightPointManger (which does most of the work for light ...
Definition: DtLightPointManager.h:28