VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectDefaultDrawComponent.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
15 
17 
18 namespace makVrv
19 {
20  class DtIndirectGeometryRegistrar;
21  class DtVirtualProgramCache;
22  class DtIndirectEffectTexturesTemplate;
23 
24 
27 
30 
32  template <>
33  inline const char* creatorTypeName<DtIndirectDefaultDrawComponent>(void) { return "DtIndirectDefaultDrawComponentCreator"; }
34 
37  {
38  public:
41 
44 
45  protected:
48  private:
51 
54 
56  DtIndirectDefaultDrawComponent& operator=(const DtIndirectDefaultDrawComponent& rhs) = delete;
57  public:
59  virtual void initialize(const DtIndirectGeometryRegistrar& registrar
60  , const DtIndirectEffectTexturesTemplate& effectTexturesState
61  , DtVirtualProgramCache& virtualProgramCache);
62 
64  virtual void update(osg::RenderInfo& renderInfo) override;
65 
67  virtual void apply(osg::RenderInfo& renderInfo) override;
68 
70  virtual void draw(osg::RenderInfo& renderInfo, const int offsetCommandBuffer, GLenum indicesType, int maxCommands) override;
71 
73  virtual void releaseGLObjects(osg::State* state) override;
74  protected:
76  };
77 }
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Indirect geometry can have multiple models and their corresponding ids registered in it...
Definition: DtIndirectGeometryRegistrar.h:106
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
class to hold a hashed map of strings to equivalent virtual programs to avoid repeated, duplicate creation of a virtual programs
Definition: DtVirtualProgramCache.h:46
Contains the DtIndirectDrawComponent class declaration.
friend DtIndirectDefaultDrawComponentCreator
only creator can create
Definition: DtIndirectDefaultDrawComponent.h:40
unsigned int GLenum
Definition: DtGlTextureBufferObject.h:18
const char * creatorTypeName< DtIndirectDefaultDrawComponent >(void)
template specialization for the creator
Definition: DtIndirectDefaultDrawComponent.h:33
DtVirtualBaseClassCreator< DtIndirectDefaultDrawComponent > DtIndirectDefaultDrawComponentCreator
creator
Definition: DtIndirectDefaultDrawComponent.h:26
Contains DLL export macros.
Interface class to manage/configure drawing of a subset of rendering components within an indirect ge...
Definition: DtIndirectDrawComponent.h:30
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
class to draw a subset of items of an indirect geometry (everything except light points), the default way
Definition: DtIndirectDefaultDrawComponent.h:36
Class that allows you to abstractly register effect texture types the effect texture types are client...
Definition: DtIndirectEffectTexturesTemplate.h:40
osg::ref_ptr< osg::Uniform > myTimeUniform
Definition: DtIndirectDefaultDrawComponent.h:75

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)