VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectCullProgramCache.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvOsg/vrvOsg.h>
13 
16 #include <vrvMath/DtVector2.h>
17 
18 #include <unordered_map>
19 
20 namespace makVrv
21 {
22  class DtDe;
23  class DtIndirectCullProgram;
24 
28  {
29  public:
30 
31  public:
33  static DtIndirectCullProgramCache& instance(DtDe& de);
34 
36  virtual ~DtIndirectCullProgramCache();
37 
39  DtIndirectCullProgramCache() = delete;
41  DtIndirectCullProgramCache& operator=(const DtIndirectCullProgramCache& rhs) = delete;
44  protected:
47 
49  static void registerInstance(DtIndirectCullProgramCache* manager, DtDe& de);
50 
51  public:
55  virtual DtIndirectCullProgram* getOrCreate(bool& created, const DtCullShaderConfig& cullShaderConfig);
56 
57  virtual DtIndirectCullProgram* removeEntry(const DtCullShaderConfig& cullShaderConfig);
58 
59  protected:
61 
62  static const std::string theClassName;
63 
64  std::unordered_map< DtCullShaderConfig::KeyType, DtIndirectCullProgram* > myHashToIndirectCullProgram;
65  };
66 
67 }
Contains the DtCullShaderConfig class declaration.
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
2 dimensional vector
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
shader configuration storage class. Has 3 available options which are described in the constructor&#39;s ...
Definition: DtCullShaderConfig.h:21
Contains makVrv::DtVirtualBaseClass class.
handles the running of the compute shader pass for indirect culling, LODing and switches ...
Definition: DtIndirectCullProgram.h:54
static const std::string theClassName
Definition: DtIndirectCullProgramCache.h:62
This class holds gpu culling programs corresponding to their config Each unique config creates an uni...
Definition: DtIndirectCullProgramCache.h:27
std::unordered_map< DtCullShaderConfig::KeyType, DtIndirectCullProgram * > myHashToIndirectCullProgram
Definition: DtIndirectCullProgramCache.h:64
Base class to provide boost signal/slot management.
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
DtDe & myDe
Definition: DtIndirectCullProgramCache.h:60

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)