MaterialManager
Engine/source/materials/materialManager.h
Public Types
Public Friends
class
Protected Attributes
The default max anisotropy used in texture filtering.
The default material features.
The feature exclusion set.
bool
If set we flush and reinitialize all materials at the start of the next rendered frame.
Signal used to notify systems that procedural shaders have been flushed.
bool
Public Functions
createMatInstance(const String & matName)
createMatInstance(const String & matName, const FeatureSet & features, const GFXVertexFormat * vertexFormat)
createMatInstance(const String & matName, const GFXVertexFormat * vertexFormat)
createMeshDebugMatInstance(const LinearColorF & meshColor)
Allocate and return an instance of special materials. Caller is responsible for the memory.
dumpMaterialInstances(BaseMaterialDefinition * target)
Flushes all the procedural shaders and re-initializes all the active materials instances immediately.
flushInstance(BaseMaterialDefinition * target)
Get the default texture anisotropy.
The default feature set for materials.
bool
Get the deferred enabled state.
The feature exclusion list for disabling features.
Returns the signal used to notify systems that the procedural shaders have been flushed.
getMapEntry(const String & textureName)
Material *
getMaterialDefinitionByMapTo(const String & mapTo)
Material *
getMaterialDefinitionByName(const String & matName)
getMaterialInstances(BaseMaterialDefinition * target, GuiTreeViewCtrl * tree)
SimSet *
getMeshDebugMatInstance(const LinearColorF & meshColor)
Gets the global warning material instance, callers should not free this copy.
reInitInstance(BaseMaterialDefinition * target)
Re-initializes the material instances for a specific target material.
setDeferredEnabled(bool enabled)
Set the deferred enabled state.
Public Static Functions
const char *
Protected Functions
bool
Called when one of the feature disabling $pref::s are changed.
_onLMActivate(const char * lm, bool activate)
_track(MatInstance * )
_untrack(MatInstance * )
Called when $pref::Video::defaultAnisotropy is changed.
Detailed Description
Public Types
typedef Signal< void()> FlushSignal
Signal used to notify systems that procedural shaders have been flushed.
Protected Types
typedef Map< U32, BaseMatInstance * > DebugMaterialMap
typedef Map< String, String > MaterialMap
Public Friends
Protected Attributes
F32 mAccumTime
S32 mDefaultAnisotropy
The default max anisotropy used in texture filtering.
FeatureSet mDefaultFeatures
The default material features.
F32 mDt
FeatureSet mExclusionFeatures
The feature exclusion set.
bool mFlushAndReInit
If set we flush and reinitialize all materials at the start of the next rendered frame.
FlushSignal mFlushSignal
Signal used to notify systems that procedural shaders have been flushed.
U32 mLastTime
MaterialMap mMaterialMap
SimSet * mMaterialSet
Vector< BaseMatInstance * > mMatInstanceList
DebugMaterialMap mMeshDebugMaterialInsts
bool mUsingDeferred
BaseMatInstance * mWarningInst
Public Functions
MaterialManager()
~MaterialManager()
allocateAndRegister(const String & objectName, const String & mapToName)
createMatInstance(const String & matName)
createMatInstance(const String & matName, const FeatureSet & features, const GFXVertexFormat * vertexFormat)
createMatInstance(const String & matName, const GFXVertexFormat * vertexFormat)
createMeshDebugMatInstance(const LinearColorF & meshColor)
createWarningMatInstance()
Allocate and return an instance of special materials. Caller is responsible for the memory.
dumpMaterialInstances(BaseMaterialDefinition * target)
flushAndReInitInstances()
Flushes all the procedural shaders and re-initializes all the active materials instances immediately.
flushInstance(BaseMaterialDefinition * target)
getDefaultAnisotropy()
Get the default texture anisotropy.
getDefaultFeatures()
The default feature set for materials.
getDeferredEnabled()
Get the deferred enabled state.
getDeltaTime()
getExclusionFeatures()
The feature exclusion list for disabling features.
getFlushSignal()
Returns the signal used to notify systems that the procedural shaders have been flushed.
getLastUpdateTime()
getMapEntry(const String & textureName)
getMaterialDefinitionByMapTo(const String & mapTo)
getMaterialDefinitionByName(const String & matName)
getMaterialInstances(BaseMaterialDefinition * target, GuiTreeViewCtrl * tree)
getMaterialSet()
getMeshDebugMatInstance(const LinearColorF & meshColor)
getTotalTime()
getWarningMatInstance()
Gets the global warning material instance, callers should not free this copy.
mapMaterial(const String & textureName, const String & materialName)
recalcFeaturesFromPrefs()
reInitInstance(BaseMaterialDefinition * target)
Re-initializes the material instances for a specific target material.
setDeferredEnabled(bool enabled)
Set the deferred enabled state.
updateTime()
Public Static Functions
getSingletonName()
Protected Functions
_handleGFXEvent(GFXDevice::GFXDeviceEventType event)
_onDisableMaterialFeature()
Called when one of the feature disabling $pref::s are changed.
_onLMActivate(const char * lm, bool activate)
_track(MatInstance * )
_untrack(MatInstance * )
_updateDefaultAnisotropy()
Called when $pref::Video::defaultAnisotropy is changed.