![]() |
VR-Forces 4.7 Class Documentation
|
Class derived from osg::Drawable to handle all DtLightPointNode light points it gathers all the light points and renders them all in a single draw call. More...

Classes | |
| struct | LightPointVertexAttrib |
| Structure that matches the format of the data that is sent down as vertex attributes for the light points. More... | |
Public Member Functions | |
| virtual void | releaseGLObjects (osg::State *state) const |
| DtLightPointDrawable (DtDe &de) | |
| main contructor for the DtLightPointDrawable. | |
| DtLightPointDrawable (const DtLightPointDrawable &, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
| Copy constructor using CopyOp to manage deep vs shallow copy. | |
| 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 | |
| virtual osg::Object * | cloneType () const |
| virtual bool | isSameKindAs (const osg::Object *obj) const |
| virtual const char * | className () const |
| virtual const char * | libraryName () const |
| virtual void | accept (osg::NodeVisitor &nv) |
| virtual void | setLightPointManager (DtOsgLightPointManager *lpManager) |
| end required functions for deriving | |
| virtual DtOsgLightPointManager * | findLightPointManger () |
| Getter for the connected light point manager. | |
| virtual void | addLightPoint (const LightPointVertexAttrib &attribData) |
| Add a light point to this drawable. | |
| virtual void | removeLightPoints (const std::vector< int > &nodeIds) |
| Remove all the light points that are associated with the specified nodeIds. | |
| virtual void | drawImplementation (osg::RenderInfo &renderInfo) const |
| Setup the openGL state and draw all the light points (and debug labels if enabled) | |
| virtual void | setSimulationTime (double time) |
| Set the current simulation time which is used by the blink animations. | |
| virtual double | simulationTime () const |
| Get the currrent simulation time. | |
| virtual osg::BoundingBox | computeBoundingBox () const |
| compute the bounding box based on all the light points | |
Protected Types | |
| typedef std::vector < LightPointVertexAttrib > | LightPointList |
Protected Member Functions | |
| void | slot_reverseZChanged (bool flag) |
| slot for handling when reverseZ changes. | |
| virtual | ~DtLightPointDrawable () |
| Destructor. | |
Protected Attributes | |
| double | mySimulationTime |
| LightPointList | myLightPointList |
| osg::ref_ptr< osg::Depth > | myDepthOn |
| osg::ref_ptr< osg::BlendFunc > | myBlendFunc |
| osg::ref_ptr< osg::BlendEquation > | myBlendEquation |
| DtOsgLightPointManager * | myLightPointManager |
| osg::ref_ptr< osg::Texture > | myDigitTexture |
| DtDe & | myDe |
| osg::ref_ptr< osg::Uniform > | myTimeUniform |
| DtSignalConnectionManager | mySignals |
Class derived from osg::Drawable to handle all DtLightPointNode light points it gathers all the light points and renders them all in a single draw call.
Draws all the light points in a single draw call. The light points are added by the DtLightPointNodes to the DtLightPointDrawable and each light point ends up with an entry in the vertex arrays for the light points. In addition to the light points themselves, there are debug light point sprites that are used to draw debug labels above the light points. Because they are using the same state and vertex attributes, the drawing of the labels is extremely fast (so fast I have not been able to see a measurable{ in the F2 stats } difference between having them on or off) The labels are turned on using an imGui checkbox. which is setup by the light point manager.
|
protected |
| makVrv::DtLightPointDrawable::DtLightPointDrawable | ( | DtDe & | de | ) |
main contructor for the DtLightPointDrawable.
Should only be called by DtOsgLightPointManager which should only create a single instance of this class
| makVrv::DtLightPointDrawable::DtLightPointDrawable | ( | const DtLightPointDrawable & | , |
| const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY |
||
| ) |
Copy constructor using CopyOp to manage deep vs shallow copy.
|
inlineprotectedvirtual |
Destructor.
|
virtual |
|
inlinevirtual |
required functions for deriving from osg::Drawable couldn't use META_Node because it didn't compile
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
end required functions for deriving
Setter for connecting this drawable to the light point manager. Allows us to avoid unnecessary calls to DtOsgLightPointManager::instance()
|
virtual |
Getter for the connected light point manager.
|
virtual |
Add a light point to this drawable.
|
virtual |
Remove all the light points that are associated with the specified nodeIds.
|
virtual |
Setup the openGL state and draw all the light points (and debug labels if enabled)
|
virtual |
Set the current simulation time which is used by the blink animations.
|
virtual |
Get the currrent simulation time.
|
virtual |
compute the bounding box based on all the light points
|
protected |
slot for handling when reverseZ changes.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |