VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtPostProcessorDrawable.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
12 
13 #include <osg/Drawable>
14 
15 // Get proper local export symbol
17 
18 namespace osg
19 {
20  class State;
21 }
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtGlProgram;
27  class DtGlBuffer;
28 
29  class DtCoreGlBufferCreator;
30  class DtGlDeleteObjectManager;
31 
33  class DT_DLL_VRVPOSTPROCESSOR DtPostProcessorDrawable : public osg::Drawable
34  {
35  public:
37 
38  DtPostProcessorDrawable(const DtPostProcessorDrawable& orig, const osg::CopyOp& op);
39 
40  virtual ~DtPostProcessorDrawable();
41  private:
43  DtPostProcessorDrawable() = delete;
44 
47 
49  DtPostProcessorDrawable& operator=(const DtPostProcessorDrawable&) = delete;
50 
52  public:
54  virtual void drawTexturedQuad(bool drawOnly = false) const;
55 
57  virtual void beginTexturedQuad() const;
58 
60  virtual void endTexturedQuad() const;
61 
64  virtual std::string preprocessorDefinesString(void) const;
65 
67  virtual DtGlProgram* createProgram(const std::string& path, const std::string& prefixName, const std::string& preprocessor="") const;
68 
70  virtual void releaseGLObjects(osg::State* state = 0) const override;
71 
72  protected:
74  void setupGeometry() const;
75  protected:
77  mutable DtGlBuffer* myMutableVbo = nullptr;
78 
81  };
82 }
creator for DtCoreGlBuffer
Definition: DtCoreGlBuffer.h:66
DtDe & myDe
Definition: DtPostProcessorDrawable.h:76
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlProgram.h:66
Definition: DtPostProcessorDrawable.h:33
DtCoreGlBufferCreator & myDtCoreGlBufferCreator
Definition: DtPostProcessorDrawable.h:79
#define DT_DLL_VRVPOSTPROCESSOR
Definition: vrvPostProcessor.h:19
Contains DLL export macros.
A generic OpenGL buffer. This can be: -&gt; a vertex buffer -&gt; an index buffer -&gt; a shader storage buffe...
Definition: DtGlBuffer.h:29
DtGlDeleteObjectManager & myGlDeleteObjectManager
Definition: DtPostProcessorDrawable.h:80
Vaos are OpenGL context specific. They need to be deleted in the context they are created in...
Definition: DtGlDeleteObjectManager.h:58
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

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)