VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectLimitTextureStrategy.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvOsg/vrvOsg.h>
12 
14 
16 
17 #include <osg/ref_ptr>
18 
19 #include <unordered_set>
20 
21 namespace osg
22 {
23  class Image;
24 }
25 
26 namespace makVrv
27 {
28  class DtDe;
29 
32 
35 
37  template <>
38  inline const char* creatorTypeName<DtIndirectLimitTextureStrategy>(void) { return "DtIndirectLimitTextureStrategyCreator"; }
39 
44  {
45  public:
47  DtIndirectTextureLimitAdjustedMipMap(int start, int width, int height);
48 
51  public:
55  };
56 
66  {
67  public:
70 
73 
77  DtIndirectLimitTextureStrategy& operator=(const DtIndirectLimitTextureStrategy& rhs) = delete;
80  protected:
82  DtIndirectLimitTextureStrategy(DtDe& de, const DtVector2<int>& limitTexturesResolution);
83  public:
88  virtual DtIndirectTextureLimitAdjustedMipMap adjustStartMipMapLevel(const osg::ref_ptr<osg::Image>& osgImage) const;
89 
91  virtual void excludeTexture(const std::string& textureFileAbsolutePath);
92 
94  virtual bool isExcluded(const std::string& textureFileAbsolutePath) const;
95 
98  virtual bool needsMaxTextureResolutionComputation(void) const;
99 
100  protected:
101  virtual DtIndirectTextureLimitAdjustedMipMap adjustStartMipMapLevel(const osg::ref_ptr<osg::Image>& osgImage, const DtVector2<int>& limit) const;
102  protected:
105 
106  std::unordered_set<std::string> myExcludedTextureFiles;
107  };
108 }
int myMipLevelStart
Definition: DtIndirectLimitTextureStrategy.h:52
int myStartMipMapHeight
Definition: DtIndirectLimitTextureStrategy.h:54
DtVirtualBaseClassCreator< DtIndirectLimitTextureStrategy, const DtVector2< int > & > DtIndirectLimitTextureStrategyCreator
creator
Definition: DtIndirectLimitTextureStrategy.h:31
int myStartMipMapWidth
Definition: DtIndirectLimitTextureStrategy.h:53
const DtVector2< int > myLimitTexturesResolution
Definition: DtIndirectLimitTextureStrategy.h:104
2 dimensional vector
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
std::unordered_set< std::string > myExcludedTextureFiles
Definition: DtIndirectLimitTextureStrategy.h:106
DtDe & myDe
Definition: DtIndirectLimitTextureStrategy.h:103
structure that holds the adjusted mip level to start reading the image from, for the given limiting s...
Definition: DtIndirectLimitTextureStrategy.h:43
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
friend DtIndirectLimitTextureStrategyCreator
only creator can create
Definition: DtIndirectLimitTextureStrategy.h:69
IMGUI_API void Image(ImTextureID user_texture_id, const ImVec2 &size, const ImVec2 &uv0=ImVec2(0, 0), const ImVec2 &uv1=ImVec2(1, 1), const ImVec4 &tint_col=ImVec4(1, 1, 1, 1), const ImVec4 &border_col=ImVec4(0, 0, 0, 0))
This class is passed as a pointer to DtIndirectTextureProcessor. The processor then uses this in conj...
Definition: DtIndirectLimitTextureStrategy.h:65
Contains DLL export macros.
const char * creatorTypeName< DtIndirectLimitTextureStrategy >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtIndirectLimitTextureStrategy.h:38
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

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)