VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Types | Protected Attributes
makVrv::DtEffectManager Class Reference

The effect manager provides a way of creating and sharing effects.

Public Member Functions

 DtEffectManager (const std::string &dataPath)
 
 ~DtEffectManager ()
 
void releaseResources ()
 
void reloadShaders ()
 
DtEffectcreateEffect (const std::string &effectName, const std::string &defines, DtEffectCreator::CreateParameters *params=0) const
 
DtEffectfindSharedEffect (const std::string &effectName, const std::string &defines, DtEffectCreator::CreateParameters *params=0)
 
void registerEffectCreator (const std::string &effectName, DtEffectCreator *creator)
 

Protected Types

typedef std::unordered_map
< std::string, DtEffectCreator * > 
CreatorMap
 
typedef std::unordered_map
< std::string, DtEffect * > 
EffectMap
 

Protected Attributes

CreatorMap myEffectCreators
 
EffectMap mySharedEffects
 
std::string myDataPath
 

Member Typedef Documentation

typedef std::unordered_map<std::string, DtEffectCreator*> makVrv::DtEffectManager::CreatorMap
protected
typedef std::unordered_map<std::string, DtEffect*> makVrv::DtEffectManager::EffectMap
protected

Constructor & Destructor Documentation

makVrv::DtEffectManager::DtEffectManager ( const std::string &  dataPath)

CTOR.

makVrv::DtEffectManager::~DtEffectManager ( )

DTOR.

Member Function Documentation

void makVrv::DtEffectManager::releaseResources ( )

Release all resources.

void makVrv::DtEffectManager::reloadShaders ( )

Handles reloading shaders. Calls reload shaders for all shared effects.

DtEffect* makVrv::DtEffectManager::createEffect ( const std::string &  effectName,
const std::string &  defines,
DtEffectCreator::CreateParameters params = 0 
) const

Attempts to create a new effect using the given effect name. The effect object is not shared, and must be deallocated by the owner.

Returns
NULL if no effect creator for the given effect name is registered.
DtEffect* makVrv::DtEffectManager::findSharedEffect ( const std::string &  effectName,
const std::string &  defines,
DtEffectCreator::CreateParameters params = 0 
)

Attempts to find a shared effect, if the shared effect is not yet created, it will attempt to create the effect. The returned effect is shared and should not be deallocated.

Returns
NULL if no effect creator for the given effect name is registered.
void makVrv::DtEffectManager::registerEffectCreator ( const std::string &  effectName,
DtEffectCreator creator 
)

Register an effect creator. If an effect creator was previously registered with the same name, it is first deleted.

Member Data Documentation

CreatorMap makVrv::DtEffectManager::myEffectCreators
protected
EffectMap makVrv::DtEffectManager::mySharedEffects
protected
std::string makVrv::DtEffectManager::myDataPath
protected

The documentation for this class was generated from the following file:

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)