![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: $ $Revision: $ $State: $ 00007 ******************************************************************************/ 00008 00012 #pragma once 00013 00014 #include <vrvGraphics/vrvGraphics.h> 00015 #include <vrvGraphics/DtEffect.h> 00016 #include <boost/unordered_map.hpp> 00017 00018 namespace makVrv 00019 { 00022 class DT_DLL_VRVGRAPHICS DtEffectManager 00023 { 00024 public: 00025 00027 DtEffectManager(); 00028 00030 ~DtEffectManager(); 00031 00033 void releaseResources(); 00034 00039 DtEffect* createEffect(const std::string& effectName, 00040 DtEffectCreator::CreateParameters* params = 0) const; 00041 00047 DtEffect* findSharedEffect(const std::string& effectName, 00048 DtEffectCreator::CreateParameters* params = 0); 00049 00052 void registerEffectCreator(const std::string& effectName, DtEffectCreator* creator); 00053 00054 protected: 00055 typedef boost::unordered_map<std::string,DtEffectCreator*> CreatorMap; 00056 typedef boost::unordered_map<std::string,DtEffect*> EffectMap; 00057 00058 CreatorMap myEffectCreators; 00059 EffectMap mySharedEffects; 00060 }; 00061 } 00062