21 #include <osgSim/LightPointNode>
23 #include <boost/thread.hpp>
39 class DtLightPointNode;
91 virtual DtLightPointNode *createLightPointNode(osg::Node *nodeRef,
bool daylightControlled);
105 virtual DtGlBuffer *lightPointNodeBuffer(osg::Camera* camera);
111 virtual void slot_preTick();
114 virtual void clearNodeBuffer(
const osg::Camera* camera);
119 virtual void setNodeBufferData(
int nodeId, osg::Matrixf &modelView, osg::Vec4f &eyeLocal,
int groupId,
const osg::Camera *camera,
float posScale,
float radiusScale,
bool isInstancedReflection);
122 virtual void processImGui();
128 virtual bool debugLabelsEnabled();
131 virtual bool debugDirectionEnabled();
134 virtual bool softerLightPointsEnabled();
137 virtual float softenIntensity();
141 virtual void setShouldReplaceOsgSimLightPoints(
bool enable);
145 virtual bool shouldReplaceOsgSimLightPoints();
148 virtual void freeNodeIds(std::vector<int> &nodeIds);
150 virtual void releaseGLObjects(osg::State * state)
const;
153 virtual void setInstanceReflectionMatrix(
const osg::Camera *camera,
const osg::Matrixf &reflectMat);
156 virtual const osg::Matrixf &instanceReflectionMatrix(
const osg::Camera *camera);
167 virtual void slot_reloadShaders();
170 virtual void setupShaders();
174 int parseNodeGroupId(osg::Node *lightPointNode);
177 std::string parseNodeGroupName(osg::Node *node);