VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectDefaultTextureCollectionPolicy.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 <vrvOsg/vrvOsg.h>
13 
16 
17 namespace osg
18 {
19  class StateSet;
20  class ExtendedMaterial;
21 }
22 
23 namespace makVrv
24 {
25  class DtIndirectGeometryTextures;
26 
31  {
32  public:
35 
38 
39  protected:
40  // ! constructor. only creator can create
42 
43  private:
48 
49  public:
52  virtual void collectTextures(DtIndirectGeometryTextures* textures, const osg::StateSet* stateSet, const std::string &modelName) const;
53 
57  virtual const std::string& glslTextureDeclarationHashDefine(const DtIndirectEffectTexturesTemplate& effectTexturesState, unsigned int numTexCoords) const;
58  virtual void printHashDefineDetails(const DtIndirectEffectTexturesTemplate& effectTexturesState) const;
60 
61  protected:
62 
64  virtual void collectTextures(DtIndirectGeometryTextures* textures, const osg::StateSet* stateSet,
65  const osg::ExtendedMaterial* extendedMaterial, const std::string &modelName) const;
66 
68  virtual void compareAndInsertHashDefine(std::stringstream& ss, int type, int effectTextureIdx) const;
69 
71  virtual void collectTexturesExtendedMaterial(DtIndirectGeometryTextures* textures, const osg::StateSet* stateSet,
72  const osg::ExtendedMaterial* extendedMaterial, const std::string &modelName) const;
73 
75  virtual void collectTexturesNoExtendedMaterial(DtIndirectGeometryTextures* textures, const osg::StateSet* stateSet,
76  const std::string &modelName) const;
77 
79  virtual bool collectTexturesData(int unit, const osg::StateSet* stateSet,
80  const osg::Texture* diffuseTexture,
81  bool& error,
82  const osg::StateAttribute*& texattr,
83  const osg::Texture*& texture) const;
84 
85  protected:
86  static const std::vector<DtEffectTextureType> theTextureTypes;
87  };
88 
91  {
92  public:
95 
98 
100  virtual DtIndirectTextureCollectionPolicy* create(DtDe& de);
101  };
102 }
Diagonal crossing liens.
Definition: DtTacticalGraphicUtilities.h:93
Contains makVrv::DtEffectTextureType declaration.
static const std::vector< DtEffectTextureType > theTextureTypes
Definition: DtIndirectDefaultTextureCollectionPolicy.h:86
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
creator for DtIndirectDefaultTextureCollectionPolicy
Definition: DtIndirectDefaultTextureCollectionPolicy.h:90
Abstract class to look in the stateset and collect textures specified via its template The effect tex...
Definition: DtIndirectTextureCollectionPolicy.h:38
Abstract class for creation of a particular texture collection policy.
Definition: DtIndirectTextureCollectionPolicy.h:89
specialization of DtIndirectTextureCollectionPolicy to collect textures for indirect rendering used b...
Definition: DtIndirectDefaultTextureCollectionPolicy.h:30
class to hold osg Textures (diffuse map texture + effect textures) basically just a list of osg textu...
Definition: DtIndirectGeometryTextures.h:26
Contains the DtIndirectTextureCollectionPolicy class declaration.
Definition: asyncJobServer.h:39
Contains DLL export macros.
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
Class that allows you to abstractly register effect texture types the effect texture types are client...
Definition: DtIndirectEffectTexturesTemplate.h:40

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)