VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectDrawComponent.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
14 #include <osg/StateSet>
15 #include <osg/Uniform>
16 
17 #include <string>
18 
19 namespace osg
20 {
21  class RenderInfo;
22 }
23 
24 namespace makVrv
25 {
26  class DtDe;
27  class DtGlBuffer;
28  class DtIndirectShaderConstants;
29  class DtIndirectShaderManager;
30 
34  {
35  public:
38 
40  virtual ~DtIndirectDrawComponent();
41  private:
43  DtIndirectDrawComponent() = delete;
44 
47 
49  DtIndirectDrawComponent&operator=(const DtIndirectDrawComponent& rhs) = delete;
50 
51  public:
53  virtual void update(osg::RenderInfo& renderInfo);
54 
56  virtual void apply(osg::RenderInfo& renderInfo) = 0;
57 
59  virtual void draw(osg::RenderInfo& renderInfo, const int offsetCommandBuffer, GLenum indicesType, int maxCommands
60  , DtGlBuffer* gpuShaderUbo, int gpuShaderBinding, DtIndirectShaderConstants* shaderConstants);
61 
63  virtual void releaseGLObjects(osg::State* state);
64 
66  virtual bool shouldDraw(bool isShadowPass);
67 
68  protected:
70  virtual std::string indicesTypeToString(int indicesType);
71 
72  protected:
74 
76 
78  };
79 }
This manages the draw components (shader vp wrappers) for combinations of DtIndirectEffectTexturesTem...
Definition: DtIndirectShaderManager.h:50
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtDe & myDe
Definition: DtIndirectDrawComponent.h:73
DtIndirectShaderManager & myIndirectShaderManager
Definition: DtIndirectDrawComponent.h:77
A generic OpenGL buffer. This can be: -&gt; a vertex buffer -&gt; an index buffer -&gt; a shader storage buffe...
Definition: DtGlBuffer.h:29
unsigned int GLenum
Definition: DtGlTextureBufferObject.h:19
Contains DLL export macros.
Interface class to manage/configure drawing of a subset of rendering components within an indirect ge...
Definition: DtIndirectDrawComponent.h:33
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
Definition: DtIndirectShaderConstants.h:42
osg::ref_ptr< osg::StateSet > myStateSet
Definition: DtIndirectDrawComponent.h:75

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)