diff --git a/Engine/source/materials/materialManager.cpp b/Engine/source/materials/materialManager.cpp index 87ce2bef2..86efe3c17 100644 --- a/Engine/source/materials/materialManager.cpp +++ b/Engine/source/materials/materialManager.cpp @@ -61,8 +61,6 @@ MaterialManager::MaterialManager() mLastTime = 0; mDampness = 0.0f; mWarningInst = NULL; - mMatDefToFlush = NULL; - mMatDefToReload = NULL; GFXDevice::getDeviceEventSignal().notify( this, &MaterialManager::_handleGFXEvent ); @@ -75,8 +73,6 @@ MaterialManager::MaterialManager() mUsingDeferred = false; mFlushAndReInit = false; - mMatDefShouldFlush = false; - mMatDefShouldReload = false; mDefaultAnisotropy = 1; Con::addVariable( "$pref::Video::defaultAnisotropy", TypeS32, &mDefaultAnisotropy, @@ -328,12 +324,6 @@ String MaterialManager::getMapEntry(const String & textureName) const } void MaterialManager::flushAndReInitInstances() -{ - // delay flushes and reinits until the start of the next frame. - mFlushAndReInit = true; -} - -void MaterialManager::_flushAndReInitInstances() { // Clear the flag if its set. mFlushAndReInit = false; @@ -368,16 +358,8 @@ void MaterialManager::_flushAndReInitInstances() (*iter)->reInit(); } -// Used in the materialEditor. This flushes the material preview object so it can be reloaded easily. -void MaterialManager::flushInstance(BaseMaterialDefinition* target) -{ - mMatDefToFlush = target; - mMatDefShouldFlush = true; -} - void MaterialManager::_flushInstance( BaseMaterialDefinition *target ) { - mMatDefShouldFlush = false; Vector::iterator iter = mMatInstanceList.begin(); while ( iter != mMatInstanceList.end() ) { @@ -388,26 +370,16 @@ void MaterialManager::_flushInstance( BaseMaterialDefinition *target ) } iter++; } - - mMatDefToFlush = NULL; -} - -void MaterialManager::reInitInstance(BaseMaterialDefinition* target) -{ - mMatDefToReload = target; - mMatDefShouldReload = true; } void MaterialManager::_reInitInstance( BaseMaterialDefinition *target ) { - mMatDefShouldReload = false; Vector::iterator iter = mMatInstanceList.begin(); for ( ; iter != mMatInstanceList.end(); iter++ ) { if ( (*iter)->getMaterial() == target ) (*iter)->reInit(); } - mMatDefToReload = NULL; } void MaterialManager::updateTime() @@ -527,14 +499,6 @@ bool MaterialManager::_handleGFXEvent( GFXDevice::GFXDeviceEventType event_ ) case GFXDevice::deStartOfFrame: if ( mFlushAndReInit ) _flushAndReInitInstances(); - if (mMatDefShouldFlush) - { - _flushInstance(mMatDefToFlush); - } - if (mMatDefShouldReload) - { - _reInitInstance(mMatDefToReload); - } break; default: diff --git a/Engine/source/materials/materialManager.h b/Engine/source/materials/materialManager.h index 2d983da7a..8dd4d28a3 100644 --- a/Engine/source/materials/materialManager.h +++ b/Engine/source/materials/materialManager.h @@ -113,15 +113,9 @@ public: /// procedural shaders have been flushed. typedef Signal FlushSignal; - /// Returns the signal used to notify systems that the - /// procedural shaders have been flushed. - FlushSignal& getFlushSignal() { return mFlushSignal; } + /// Flushes all the procedural shaders and re-initializes all + /// the active materials instances immediately. void flushAndReInitInstances(); - // Flush the instance - void flushInstance( BaseMaterialDefinition *target ); - - /// Re-initializes the material instances for a specific target material. - void reInitInstance( BaseMaterialDefinition *target ); protected: @@ -158,8 +152,6 @@ protected: /// If set we flush and reinitialize all materials at the /// start of the next rendered frame. bool mFlushAndReInit; - bool mMatDefShouldReload; - bool mMatDefShouldFlush; // material map typedef Map MaterialMap; @@ -174,8 +166,6 @@ protected: F32 mDampness; BaseMatInstance* mWarningInst; - BaseMaterialDefinition* mMatDefToFlush; - BaseMaterialDefinition* mMatDefToReload; /// The default max anisotropy used in texture filtering. S32 mDefaultAnisotropy;