VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtFxOsgParticleDrawable.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <osg/Drawable>
13 #include <osg/Geode>
14 #include <osg/State>
15 #include <osg/StateSet>
16 #include <osg/MatrixTransform>
17 #include <osg/Program>
18 class diguyScenario;
19 
20 namespace makVrv
21 {
22  class DtDe;
23  class DtFxParticleSystemManager;
24  class DtFxOglParticleSystemRenderer;
25 
29  class DtFxOsgParticleDrawable : public osg::Drawable
30  {
31  public:
34 
36  virtual ~DtFxOsgParticleDrawable();
37  private:
39  DtFxOsgParticleDrawable(const DtFxOsgParticleDrawable& rhs, const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY) = delete;
40 
42  public:
43 
45  virtual void releaseGLObjects(osg::State* state) const;
46 
47  // the draw immediate mode method is where the OSG wraps up the drawing of
48  // of OpenGL primitives.
49  virtual void drawImplementation(osg::RenderInfo& renderInfo) const;
50 
52  virtual void loadShaders();
53 
55  virtual osg::BoundingBox computeBoundingBox() const;
56 
58  virtual void setWireframeMode(bool mode);
59 
61  virtual osg::StateSet* particleSystemStateSet();
62 
63  protected:
64 
68 
71 
75 
83 
84 
85  };
86 
87 }
osg::ref_ptr< osg::Uniform > myMutableIsReflectionUniform
Definition: DtFxOsgParticleDrawable.h:80
class that executes low level OpenGL draw calls from the particle system data.
Definition: DtFxOglParticleSystemRenderer.h:30
The OSG wrapper for the opengl rendering code. sets up the right shaders, figures out camera matrix a...
Definition: DtFxOsgParticleDrawable.h:29
osg::ref_ptr< osg::Uniform > myMutableInvPersMatrixUniform
needed for smoothness
Definition: DtFxOsgParticleDrawable.h:77
DtFxParticleSystemManager is the manager for all the particle systems and descriptions diguy sdk comm...
Definition: DtFxParticleSystemManager.h:47
virtual void setWireframeMode(bool mode)
sets the wireframe mode
virtual osg::BoundingBox computeBoundingBox() const
noops currently culls systems individually
DtFxOsgParticleDrawable(makVrv::DtDe &de, DtFxParticleSystemManager *pm)
CTOR.
virtual void loadShaders()
loads the particle shaders
virtual osg::StateSet * particleSystemStateSet()
actual stateset used insetad of the osg::Drawable::_stateset
osg::ref_ptr< osg::Uniform > myMutablePersMatrixUniform
Definition: DtFxOsgParticleDrawable.h:78
DtFxParticleSystemManager * myParticleManager
Definition: DtFxOsgParticleDrawable.h:66
osg::ref_ptr< osg::Shader > myFragmentShader
Definition: DtFxOsgParticleDrawable.h:73
osg::ref_ptr< osg::StateSet > myStateSet
Definition: DtFxOsgParticleDrawable.h:69
virtual void drawImplementation(osg::RenderInfo &renderInfo) const
DtFxOsgParticleDrawable & operator=(const DtFxOsgParticleDrawable &rhs)=delete
osg::ref_ptr< osg::Program > myDefaultProgram
Definition: DtFxOsgParticleDrawable.h:74
osg::ref_ptr< osg::StateSet > myDebugStateSet
Definition: DtFxOsgParticleDrawable.h:70
virtual ~DtFxOsgParticleDrawable()
DTOR ref pointers will clear all the memory out automatically.
osg::ref_ptr< osg::Uniform > myMutableFogFroxelActiveUniform
Definition: DtFxOsgParticleDrawable.h:81
osg::ref_ptr< osg::Uniform > myMutableFogFroxelMaxDistanceUniform
Definition: DtFxOsgParticleDrawable.h:82
const char int mode
Definition: ioapi.h:38
makVrv::DtDe & myDe
Definition: DtFxOsgParticleDrawable.h:65
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:70
osg::ref_ptr< osg::Shader > myVertexShader
Definition: DtFxOsgParticleDrawable.h:72
DtFxOglParticleSystemRenderer * myParticleRenderer
Definition: DtFxOsgParticleDrawable.h:67
virtual void releaseGLObjects(osg::State *state) const
release all gl objects used by this system
osg::ref_ptr< osg::Uniform > myMutableViewportUniform
Definition: DtFxOsgParticleDrawable.h:79

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)