Beispiel #1
0
        public EffectFactory(ConcreteComponentAssembler assembler)
        {
            _assembler       = assembler;
            _effectFactories = new Dictionary <EffectType, Func <EffectData, IEffect> >
            {
                [EffectType.BokehDoF]      = data => CreateEffect <BokehDoF>(data),
                [EffectType.Denoise]       = data => CreateEffect <Denoise>(data),
                [EffectType.Hdr]           = data => CreateEffect <Hdr>(data),
                [EffectType.LiftGammaGain] = data => CreateEffect <LiftGammaGain>(data),
                [EffectType.Lumasharpen]   = data => CreateEffect <LumaSharpen>(data),
                [EffectType.Tonemap]       = data => CreateEffect <Tonemap>(data),
                [EffectType.Vibrance]      = data => CreateEffect <Vibrance>(data)
            };

            _templateFactories = new Dictionary <EffectType, Func <EffectData> >
            {
                [EffectType.BokehDoF]      = () => CreateEffectData(EffectType.BokehDoF, new BokehDoF()),
                [EffectType.Denoise]       = () => CreateEffectData(EffectType.Denoise, new Denoise()),
                [EffectType.Hdr]           = () => CreateEffectData(EffectType.Hdr, new Hdr()),
                [EffectType.LiftGammaGain] = () => CreateEffectData(EffectType.LiftGammaGain, new LiftGammaGain()),
                [EffectType.Lumasharpen]   = () => CreateEffectData(EffectType.Lumasharpen, new LumaSharpen()),
                [EffectType.Tonemap]       = () => CreateEffectData(EffectType.Tonemap, new Tonemap()),
                [EffectType.Vibrance]      = () => CreateEffectData(EffectType.Vibrance, new Vibrance())
            };
        }
 public Direct3D11PluginDataAccessLayer(
     Direct3D11Settings settings,
     ConcreteComponentAssembler assembler)
 {
     _settings      = settings;
     _assembler     = assembler;
     _effectFactory = new EffectFactory(_assembler);
 }
Beispiel #3
0
        public Effect(
            Guid id,
            EffectType type,
            bool isEnabled,
            TEffect data,
            ConcreteComponentAssembler assembler,
            IEffectSerializer serializer)
        {
            _type       = type;
            _data       = data;
            Component   = assembler.Assemble(_data);
            _serializer = serializer;

            Id        = id;
            IsEnabled = isEnabled;
        }