VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtDiGuyInstanceDrawable Class Reference

Class that renders all the diguy instance objects in one osg drawable, major performance improvement.

Inheritance diagram for makVrv::DtDiGuyInstanceDrawable:
Inheritance graph
[legend]

Public Member Functions

 DtDiGuyInstanceDrawable ()
 
virtual ~DtDiGuyInstanceDrawable ()
 
virtual const charclassName () const
 
virtual void releaseGLObjects (osg::State *state) const
 
virtual void reset ()
 
virtual void addDrawable (DtDiGuyOsgGraphicsInstanceGroup *drawable)
 
virtual void drawImplementation (osg::RenderInfo &renderInfo) const
 
virtual void copy_tbo_data (const int &num_floats, const float *data)
 

Protected Member Functions

virtual void setupTextureBufferObject ()
 

Protected Attributes

tbb::concurrent_vector
< DtDiGuyOsgGraphicsInstanceGroup * > 
myDrawables
 
tbb::concurrent_vector
< DtDiGuyOsgGraphicsInstanceGroup * > 
myTransparentDrawables
 
osg::Vec3d myMutableCameraPosition
 
osg::ref_ptr< osg::StateAttribute > myShaderProgram
 
DtGlTextureBufferObjectm_diguy_texture_buffer
 
osg::ref_ptr
< TextureBufferObjectApplyAttribute
m_diguy_texture_buffer_attribute
 

Private Member Functions

 DtDiGuyInstanceDrawable (const DtDiGuyInstanceDrawable &ob, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)=delete
 
virtual osg::Object * clone (const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY) const
 

Constructor & Destructor Documentation

makVrv::DtDiGuyInstanceDrawable::DtDiGuyInstanceDrawable ( )

ctor

virtual makVrv::DtDiGuyInstanceDrawable::~DtDiGuyInstanceDrawable ( )
virtual

dtor

makVrv::DtDiGuyInstanceDrawable::DtDiGuyInstanceDrawable ( const DtDiGuyInstanceDrawable ob,
const osg::CopyOp &  copyop = osg::CopyOp::SHALLOW_COPY 
)
privatedelete

Copy CTOR.

Member Function Documentation

virtual const char* makVrv::DtDiGuyInstanceDrawable::className ( ) const
inlinevirtual

needed by scene graph visualizer

virtual void makVrv::DtDiGuyInstanceDrawable::releaseGLObjects ( osg::State *  state) const
virtual

releases texture data

virtual void makVrv::DtDiGuyInstanceDrawable::reset ( )
virtual

called at the beginning of every frame to clear out drawables list

virtual void makVrv::DtDiGuyInstanceDrawable::addDrawable ( DtDiGuyOsgGraphicsInstanceGroup drawable)
virtual

adds an instanced drawable

virtual void makVrv::DtDiGuyInstanceDrawable::drawImplementation ( osg::RenderInfo &  renderInfo) const
virtual

draws all the drawables.

virtual void makVrv::DtDiGuyInstanceDrawable::copy_tbo_data ( const int num_floats,
const float *  data 
)
virtual

function called by main thread job to get data down to the shared GPU

virtual void makVrv::DtDiGuyInstanceDrawable::setupTextureBufferObject ( )
protectedvirtual
virtual osg::Object* makVrv::DtDiGuyInstanceDrawable::clone ( const osg::CopyOp &  copyop = osg::CopyOp::SHALLOW_COPY) const
privatevirtual

Clone this object.

Member Data Documentation

tbb::concurrent_vector< DtDiGuyOsgGraphicsInstanceGroup*> makVrv::DtDiGuyInstanceDrawable::myDrawables
mutableprotected
tbb::concurrent_vector< DtDiGuyOsgGraphicsInstanceGroup*> makVrv::DtDiGuyInstanceDrawable::myTransparentDrawables
mutableprotected
osg::Vec3d makVrv::DtDiGuyInstanceDrawable::myMutableCameraPosition
mutableprotected
osg::ref_ptr<osg::StateAttribute> makVrv::DtDiGuyInstanceDrawable::myShaderProgram
protected
DtGlTextureBufferObject* makVrv::DtDiGuyInstanceDrawable::m_diguy_texture_buffer
mutableprotected
osg::ref_ptr<TextureBufferObjectApplyAttribute> makVrv::DtDiGuyInstanceDrawable::m_diguy_texture_buffer_attribute
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)