17 #include <osg/Drawable>
21 #include <osg/BlendFunc>
22 #include <osg/BlendEquation>
23 #include <osg/ColorMask>
26 #include <osg/Texture>
27 #include <osg/PointSprite>
28 #include <osgSim/Export>
34 class DtOsgLightPointManager;
76 LightPointVertexAttrib(
int type,
int groupId,
int nodeId,
const osg::Matrix3 §orLocalToLp,
float phase,
const osg::Vec3& pos) :
80 mySectorLocalToLp(sectorLocalToLp),
103 virtual osg::Object*
clone(
const osg::CopyOp& copyop)
const
117 return "DtLightPointDrawable";
123 virtual void accept(osg::NodeVisitor& nv)
125 if (nv.validNodeMask(*
this))
127 nv.pushOntoNodePath(
this);
129 nv.popFromNodePath();
137 virtual void releaseGLObjects(osg::State* state)
const;
140 virtual void accept(osg::PrimitiveFunctor &functor)
const;
150 virtual void addLightPoint(
const LightPointVertexAttrib& attribData);
153 virtual void removeLightPoints(
const std::vector<int>& nodeIds);
157 virtual void drawImplementation(osg::RenderInfo& renderInfo)
const;
159 virtual void setSimulationTime(
double time);
162 virtual double simulationTime()
const;
165 virtual osg::BoundingBox computeBoundingBox()
const;
173 virtual void setUpReverseZ(
bool flag);
220 static const std::string& theClassName();
DT_DLL_EXAMPLESCENEROOTPLUGIN void init(DtDe &anIG)
virtual const char * libraryName() const
Definition: DtLightPointDrawable.h:119
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
DtOsgLightPointManager * myLightPointManager
Definition: DtLightPointDrawable.h:185
DtDe & myDe
Definition: DtLightPointDrawable.h:191
virtual osg::Object * cloneType() const
Definition: DtLightPointDrawable.h:107
LightPointVertexAttrib()
Definition: DtLightPointDrawable.h:66
LightPointList myLightPointList
Definition: DtLightPointDrawable.h:179
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
osg::ref_ptr< osg::Texture > myDigitTexture
Definition: DtLightPointDrawable.h:189
osg::Vec3 myPos
Definition: DtLightPointDrawable.h:65
Contains makVrv::DtDe class.
int myType
Definition: DtLightPointDrawable.h:60
double mySimulationTime
Definition: DtLightPointDrawable.h:176
osg::Matrix3 mySectorLocalToLp
Definition: DtLightPointDrawable.h:64
virtual void accept(osg::NodeVisitor &nv)
Definition: DtLightPointDrawable.h:123
DtOsgLightPointManager registers LightPoint nodes so their TBO can be created and updated in a single...
Definition: DtOsgLightPointManager.h:128
int myGroup
Definition: DtLightPointDrawable.h:61
osg::ref_ptr< osg::PointSprite > mySprite
Definition: DtLightPointDrawable.h:200
int myNode
Definition: DtLightPointDrawable.h:62
osg::ref_ptr< osg::BlendFunc > myBlendFunc
Definition: DtLightPointDrawable.h:182
Structure that matches the format of the data that is sent down as vertex attributes for the light po...
Definition: DtLightPointDrawable.h:58
virtual bool isSameKindAs(const osg::Object *obj) const
Definition: DtLightPointDrawable.h:111
int myMutableLightPointListMinChanged
Definition: DtLightPointDrawable.h:195
osg::ref_ptr< osg::Depth > myDepthOn
Definition: DtLightPointDrawable.h:181
Manager to delete GL object in the main thread.
virtual osg::Object * clone(const osg::CopyOp ©op) const
required functions for deriving from osg::Drawable couldn't use META_Node because it didn't compile ...
Definition: DtLightPointDrawable.h:103
LightPointVertexAttrib(int type, int groupId, int nodeId, const osg::Matrix3 §orLocalToLp, float phase, const osg::Vec3 &pos)
Definition: DtLightPointDrawable.h:76
float myPhase
Definition: DtLightPointDrawable.h:63
Class derived from osg::Drawable to handle all DtLightPointNode light points it gathers all the light...
Definition: DtLightPointDrawable.h:49
osg::ref_ptr< osg::Uniform > myTimeUniform
Definition: DtLightPointDrawable.h:193
Contains DLL export macros.
std::vector< LightPointVertexAttrib > LightPointList
Definition: DtLightPointDrawable.h:178
virtual const char * className() const
Definition: DtLightPointDrawable.h:115
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
Definition: DtLightPointDrawable.h:203
DtDe & myDe
Definition: DtLightPointDrawable.h:223
int myMutableLightPointListMaxChanged
Definition: DtLightPointDrawable.h:196
bool myInitialized
Definition: DtLightPointDrawable.h:198
osg::ref_ptr< osg::BlendEquation > myBlendEquation
Definition: DtLightPointDrawable.h:183