3#include "ResourceManager.h"
5#include "Rendering/IEffects.h"
8#include "EffectDefinition.h"
12 class IGraphicsDevice;
A Context instance contains all the services, systems and runtime components needed to use Cogs.
Effect manager responsible for loading, processing and activating Effect resources.
void handleLoad(EffectLoadInfo *loadInfo) override
Overridden to handle effect loading.
ActivationResult handleActivation(EffectHandle handle, Effect *effect) override
Overridden to handle effect activation, updating the effect in the renderer.
void initialize() override
Initialize the effect manager.
std::string prefix
Prefix used to look up shader files.
EffectHandle loadEffect(const EffectDefinition &definition)
Load the effect described by the given definition.
std::string extension
Extension used to lookup shader files.
EffectManager(Context *context)
Constructs an EffectManager in the given context.
~EffectManager()
Destructs the EffectManager.
void handleDeletion(Effect *resource) override
Overridden to handle deletion, removing the effect resource from the renderer.
The generic resource manager provides a base implementation for specialized resource managers to buil...
ActivationResult
Defines results for resource activation.
Contains all Cogs related functionality.
Defines a loadable effect.
Load information for Effect resources.
std::vector< std::string > dependencies
Paths to all dependencies that need to be resident before activating the effect.
EffectDefinition definition
Definition of the effect and its dependencies.
bool preloading
If the effect is currently in the preloading phase, still resolving dependencies.
Effect resources contain data to control the shader stages of the GPU pipeline.
Resource handle base class handling reference counting of resources derived from ResourceBase.