VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtEffectManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 #pragma once
10 
11 #include <vrvGraphics/DtEffect.h>
12 #include <unordered_map>
13 
14 namespace makVrv
15 {
19  {
20  public:
21 
23  DtEffectManager(const std::string& dataPath);
24 
26  ~DtEffectManager();
27 
29  void releaseResources();
30 
32  void reloadShaders();
33 
38  DtEffect* createEffect(const std::string& effectName, const std::string& defines
39  , DtEffectCreator::CreateParameters* params = 0) const;
40 
46  DtEffect* findSharedEffect(const std::string& effectName, const std::string& defines
47  , DtEffectCreator::CreateParameters* params = 0);
48 
51  void registerEffectCreator(const std::string& effectName, DtEffectCreator* creator);
52 
53  protected:
54  typedef std::unordered_map<std::string, DtEffectCreator*> CreatorMap;
55  typedef std::unordered_map<std::string, DtEffect*> EffectMap;
56 
59 
60  std::string myDataPath;
61  };
62 }
63 
Abstract creator class for registering effects with a effects manager.
Definition: DtEffect.h:108
std::unordered_map< std::string, DtEffect * > EffectMap
Definition: DtEffectManager.h:55
Contains makVrv::DtEffect class.
EffectMap mySharedEffects
Definition: DtEffectManager.h:58
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
CreatorMap myEffectCreators
Definition: DtEffectManager.h:57
The effect manager provides a way of creating and sharing effects.
Definition: DtEffectManager.h:18
The base class for a programmable pipeline render effect.
Definition: DtEffect.h:20
std::string myDataPath
Definition: DtEffectManager.h:60
std::unordered_map< std::string, DtEffectCreator * > CreatorMap
Definition: DtEffectManager.h:54

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)