VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectDefaultTexturesContainer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2024 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvOsg/vrvOsg.h>
12 
14 
15 #include <osg/ref_ptr>
16 #include <osg/Texture>
17 
18 namespace osg
19 {
20  class Texture;
21 }
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtIndirectTexturePrototype;
27  class DtIndirectTexturePrototypeManager;
28 
31  {
32  public:
34  static DtIndirectDefaultTexturesContainer& instance(DtDe& de);
35 
38 
45 
46  public:
48  virtual void loadDefaultTextures(void);
49 
51  virtual osg::ref_ptr<osg::Texture> defaultTextureOsg(void) const;
52 
54  virtual const DtIndirectTexturePrototype* defaultTexture(void) const;
55 
58  virtual int loadModelDebugTexture(void);
59 
61  virtual const DtIndirectTexturePrototype* modelDebugTexture(void) const;
62 
64  virtual const DtIndirectTexturePrototype* brdfLookupTexture(void) const;
65 
67  virtual const DtIndirectTexturePrototype* outOfMemoryTexture(void) const;
68 
70  virtual const DtIndirectTexturePrototype* lightsDebugDigitsTexture(void) const;
71  protected:
74 
76  static void registerInstance(DtIndirectDefaultTexturesContainer* manager, DtDe& de);
77 
79  static DtIndirectDefaultTexturesContainer* findInstance(DtDe& de);
80  protected:
82  void loadTheDefaultTexture(const std::string& filename);
83 
86  void loadTheOutOfMemoryTexture(const std::string& filename);
87 
89  void loadLightsDigitsDebugTexture(const std::string& filename);
90 
92  std::string findDebugTexturePath(void) const;
93 
95  void loadBrdfLookupTexture(void);
96  protected:
97 
99 
101 
102  const DtIndirectTexturePrototype* myDefaultTexture = nullptr;
103 
104  const DtIndirectTexturePrototype* myOutOfMemoryTexture = nullptr;
105 
108  const DtIndirectTexturePrototype* myLightsDigitsDebugTexture = nullptr;
109 
110  const DtIndirectTexturePrototype* myModelDebugTexture = nullptr;
111 
112  const DtIndirectTexturePrototype* myBrdfLookupTexture = nullptr;
113 
115 
116  static const std::string theClassName;
117  };
118 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtIndirectTexturePrototypeManager & myTexturePrototypeManager
Definition: DtIndirectDefaultTexturesContainer.h:114
This class manages DtIndirectTexturePrototypes during the lifetime of the application.
Definition: DtIndirectTexturePrototypeManager.h:86
Contains makVrv::DtVirtualBaseClass class.
DtDe & myDe
Definition: DtIndirectDefaultTexturesContainer.h:98
osg::ref_ptr< osg::Texture > myDefaultTextureOsg
Definition: DtIndirectDefaultTexturesContainer.h:100
loads and contains various core default textures used by the indirect system
Definition: DtIndirectDefaultTexturesContainer.h:30
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:76
VRV/Indirect uses its own texture paradigm: DtIndirectTexturePrototype, which is a &#39;template&#39; for mak...
Definition: DtIndirectTexturePrototype.h:53
static const std::string theClassName
Definition: DtIndirectDefaultTexturesContainer.h:116

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)