VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectEffectTexturesTemplate.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 <vrvMath/DtCommonTypes.h>
15 
16 #include <iostream>
17 
18 namespace makVrv
19 {
31  // Example: a template with types registered in order with these types, will have the corresponding internal index:
32  // ETT_NORMAL_MAP -> 0
33  // ETT_AO_MAP -> 1
34  // ETT_SPECULAR_MAP -> 2
35  // ETT_LIGHT_MAP -> 3
36  // even though the corresponding enums in DtOsgEffectTextureController::EffectTextureType are not necessarily that index/in order
37  // This enforced ordering ensures that the textures referred to in the indirect rendering engine code/shaders will always be found at those indices
38  // non virtual container class which is basically just a bi directional map of ints to ints.
41  {
42  public:
45 
48 
49  public:
51  void registerType(int type);
52 
54  bool hasType(int type) const;
55 
57  int numEffectTextures(void) const;
58 
60  int indexForType(int type) const;
61 
63  int typeForIndex(int index) const;
64 
66  bool operator==(const DtIndirectEffectTexturesTemplate& rhs) const;
67 
69  bool operator!=(const DtIndirectEffectTexturesTemplate& rhs) const;
70 
72  friend std::ostream& operator << (std::ostream& o, const DtIndirectEffectTexturesTemplate& rhs);
73  protected:
76  };
77 }
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
MapIntToInt myIndexToType
Definition: DtIndirectEffectTexturesTemplate.h:75
DT_DLL_VRFGUICORE makVrv::DtMessage & operator<<(DtMessage &msg, const makVrf::DtNetworkMessageAgentInterface &)
std::map< int, int > MapIntToInt
Definition: DtCommonTypes.h:25
bool operator==(const DtTextureAtlasIndexParser::StringOrFloatAttrib &lhs, const DtTextureAtlasIndexParser::StringOrFloatAttrib &rhs)
needed for search comparison code
Definition: DtTextureAtlasIndexParser.h:160
Contains DLL export macros.
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
Class that allows you to abstractly register effect texture types the effect texture types are client...
Definition: DtIndirectEffectTexturesTemplate.h:40
MapIntToInt myTypeToIndex
Definition: DtIndirectEffectTexturesTemplate.h:74

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)