private static void SafeEffectRegister(ref EffectBase11 effect) { var b = effect?.RegisterEffect(); if (!b.HasValue || !b.Value) { Utilities.Dispose(ref effect); } }
public void EndRegisterEffect(EffectBase11 effect) { if (effect == null) { return; } _effectsByType[effect.GetType()] = effect; _effectsByID[effect.ID] = effect; }
public void InitializeAllEffects(Device device) { EffectBase11 effect = null; effect = CreateEffect <BasicEffect11>(device); SafeEffectRegister(ref effect); effect = CreateEffect <SkyboxEffect11>(device); SafeEffectRegister(ref effect); effect = CreateEffect <NormalMapEffect11>(device); SafeEffectRegister(ref effect); effect = CreateEffect <DisplacementMapEffect11>(device); SafeEffectRegister(ref effect); effect = CreateEffect <BuildShadowMapEffect11>(device); SafeEffectRegister(ref effect); //effect = CreateEffect<SsaoNormalDepthEffect11>(device); //SafeEffectRegister(ref effect); effect = CreateEffect <DebugTextureEffect11>(device); SafeEffectRegister(ref effect); effect = CreateEffect <FireParticleEffect11>(device); SafeEffectRegister(ref effect); effect = CreateEffect <RainParticleEffect11>(device); SafeEffectRegister(ref effect); }