MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / _removeEffect

Method _removeEffect

Engine/source/postFx/postEffectManager.cpp:198–242  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

196}
197
198bool PostEffectManager::_removeEffect( PostEffect *effect )
199{
200 // Check the end of frame list.
201 EffectVector::iterator iter = T3D::find( mEndOfFrameList.begin(), mEndOfFrameList.end(), effect );
202 if ( iter != mEndOfFrameList.end() )
203 {
204 mEndOfFrameList.erase( iter );
205 return true;
206 }
207
208 // Check the diffuse list.
209 iter = T3D::find( mAfterDiffuseList.begin(), mAfterDiffuseList.end(), effect );
210 if ( iter != mAfterDiffuseList.end() )
211 {
212 mAfterDiffuseList.erase( iter );
213 return true;
214 }
215
216 // Now check the bin maps.
217 EffectMap::Iterator mapIter = mAfterBinMap.begin();
218 for( ; mapIter != mAfterBinMap.end(); mapIter++ )
219 {
220 EffectVector &effects = mapIter->value;
221 iter = T3D::find( effects.begin(), effects.end(), effect );
222 if ( iter != effects.end() )
223 {
224 effects.erase( iter );
225 return true;
226 }
227 }
228
229 mapIter = mBeforeBinMap.begin();
230 for( ; mapIter != mBeforeBinMap.end(); mapIter++ )
231 {
232 EffectVector &effects = mapIter->value;
233 iter = T3D::find( effects.begin(), effects.end(), effect );
234 if ( iter != effects.end() )
235 {
236 effects.erase( iter );
237 return true;
238 }
239 }
240
241 return false;
242}
243
244void PostEffectManager::renderEffects( const SceneRenderState *state,
245 const PFXRenderTime effectTiming,

Callers 2

onRemoveMethod · 0.80
disableMethod · 0.80

Calls 4

findFunction · 0.50
beginMethod · 0.45
endMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected