VR-Forces 5.0.1 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 Attributes | Private Member Functions

The OSG wrapper for the opengl rendering code. sets up the right shaders, figures out camera matrix and calls particle manager draw function.

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

Public Member Functions

 DtFxOsgParticleDrawable (makVrv::DtDe &de, DtFxParticleSystemManager *pm)
 
virtual ~DtFxOsgParticleDrawable ()
 
virtual void releaseGLObjects (osg::State *state) const
 
virtual void drawImplementation (osg::RenderInfo &renderInfo) const
 
virtual void loadShaders ()
 
virtual osg::BoundingBox computeBoundingBox () const
 
virtual void setWireframeMode (bool mode)
 
virtual osg::StateSet * particleSystemStateSet ()
 

Protected Attributes

makVrv::DtDemyDe
 
DtFxParticleSystemManagermyParticleManager
 
DtFxOglParticleSystemRenderermyParticleRenderer
 
osg::ref_ptr< osg::StateSet > myStateSet
 
osg::ref_ptr< osg::StateSet > myDebugStateSet
 
osg::ref_ptr< osg::Shader > myVertexShader
 
osg::ref_ptr< osg::Shader > myFragmentShader
 
osg::ref_ptr< osg::Program > myDefaultProgram
 
osg::ref_ptr< osg::Uniform > myMutableInvPersMatrixUniform
 
osg::ref_ptr< osg::Uniform > myMutablePersMatrixUniform
 
osg::ref_ptr< osg::Uniform > myMutableViewportUniform
 
osg::ref_ptr< osg::Uniform > myMutableIsReflectionUniform
 
osg::ref_ptr< osg::Uniform > myMutableFogFroxelActiveUniform
 
osg::ref_ptr< osg::Uniform > myMutableFogFroxelMaxDistanceUniform
 

Private Member Functions

 DtFxOsgParticleDrawable (const DtFxOsgParticleDrawable &rhs, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)=delete
 
DtFxOsgParticleDrawableoperator= (const DtFxOsgParticleDrawable &rhs)=delete
 

Constructor & Destructor Documentation

makVrv::DtFxOsgParticleDrawable::DtFxOsgParticleDrawable ( makVrv::DtDe de,
DtFxParticleSystemManager pm 
)

CTOR.

virtual makVrv::DtFxOsgParticleDrawable::~DtFxOsgParticleDrawable ( )
virtual

DTOR ref pointers will clear all the memory out automatically.

makVrv::DtFxOsgParticleDrawable::DtFxOsgParticleDrawable ( const DtFxOsgParticleDrawable rhs,
const osg::CopyOp &  copyop = osg::CopyOp::SHALLOW_COPY 
)
privatedelete

Not implemented, Copy constructor using CopyOp to manage deep vs shallow copy.

Member Function Documentation

DtFxOsgParticleDrawable& makVrv::DtFxOsgParticleDrawable::operator= ( const DtFxOsgParticleDrawable rhs)
privatedelete
virtual void makVrv::DtFxOsgParticleDrawable::releaseGLObjects ( osg::State *  state) const
virtual

release all gl objects used by this system

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

loads the particle shaders

virtual osg::BoundingBox makVrv::DtFxOsgParticleDrawable::computeBoundingBox ( ) const
virtual

noops currently culls systems individually

virtual void makVrv::DtFxOsgParticleDrawable::setWireframeMode ( bool  mode)
virtual

sets the wireframe mode

virtual osg::StateSet* makVrv::DtFxOsgParticleDrawable::particleSystemStateSet ( )
virtual

actual stateset used insetad of the osg::Drawable::_stateset

Member Data Documentation

makVrv::DtDe& makVrv::DtFxOsgParticleDrawable::myDe
protected
DtFxParticleSystemManager* makVrv::DtFxOsgParticleDrawable::myParticleManager
protected
DtFxOglParticleSystemRenderer* makVrv::DtFxOsgParticleDrawable::myParticleRenderer
protected
osg::ref_ptr<osg::StateSet> makVrv::DtFxOsgParticleDrawable::myStateSet
protected
osg::ref_ptr<osg::StateSet> makVrv::DtFxOsgParticleDrawable::myDebugStateSet
protected
osg::ref_ptr<osg::Shader> makVrv::DtFxOsgParticleDrawable::myVertexShader
protected
osg::ref_ptr<osg::Shader> makVrv::DtFxOsgParticleDrawable::myFragmentShader
protected
osg::ref_ptr<osg::Program> makVrv::DtFxOsgParticleDrawable::myDefaultProgram
protected
osg::ref_ptr<osg::Uniform> makVrv::DtFxOsgParticleDrawable::myMutableInvPersMatrixUniform
mutableprotected

needed for smoothness

osg::ref_ptr<osg::Uniform> makVrv::DtFxOsgParticleDrawable::myMutablePersMatrixUniform
mutableprotected
osg::ref_ptr<osg::Uniform> makVrv::DtFxOsgParticleDrawable::myMutableViewportUniform
mutableprotected
osg::ref_ptr<osg::Uniform> makVrv::DtFxOsgParticleDrawable::myMutableIsReflectionUniform
mutableprotected
osg::ref_ptr<osg::Uniform> makVrv::DtFxOsgParticleDrawable::myMutableFogFroxelActiveUniform
mutableprotected
osg::ref_ptr<osg::Uniform> makVrv::DtFxOsgParticleDrawable::myMutableFogFroxelMaxDistanceUniform
mutableprotected

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

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)