private static void SafeEffectRegister(ref EffectBase11 effect)
        {
            var b = effect?.RegisterEffect();

            if (!b.HasValue || !b.Value)
            {
                Utilities.Dispose(ref effect);
            }
        }
Example #2
0
 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);
        }