VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectTextureCollectionPolicy.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
17 
19 
21 
22 #include <osg/Texture>
23 
24 #include <boost/unordered_map.hpp>
25 
26 namespace makVrv
27 {
28  class DtIndirectGeometryTexturesPointers;
29 
36  {
37  public:
40 
43 
47  virtual void collectTextures(DtIndirectGeometryTexturesPointers& texturePointers, const osg::StateSet* stateSet, const std::string &modelName) const = 0;
48 
50  virtual const DtIndirectEffectTexturesTemplate& effectTexturesTemplate(void) const;
51 
59  virtual const std::string& glslTextureDeclarationHashDefine(void) const;
60 
65  virtual int numFxShaders(void) const;
66 
68  virtual const DtIndirectEffectTextureShader& fxShader(int index) const;
69  protected:
72 
74 
75  std::vector<DtIndirectEffectTextureShader> myFXTextureShaders;
76  };
77 
78 
81  {
82  public:
85 
88 
89  // pure abstract creation function
90  virtual DtIndirectTextureCollectionPolicy* create() = 0;
91  };
92 
95  {
96  public:
99 
102 
105  static DtIndirectTextureCollectionPolicyFactory& instance(DtDe& de);
106 
108  static const std::string& theClassName();
109 
111  virtual void registerCreator(const std::string& name, DtIndirectTextureCollectionPolicyCreator* creator);
112 
114  virtual DtIndirectTextureCollectionPolicy* create(const std::string& name) const;
115  protected:
117 
118  typedef boost::unordered_map<std::string, DtIndirectTextureCollectionPolicyCreator*> RegistrationMap;
119 
121  };
122 
123 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)