Пример #1
0
 public void SetEffectGroupTransition(ref StyleEffectGroupConfiguration config, float transitionSeconds)
 {
     SetPixellateTransition(ref config.Pixellate, transitionSeconds);
     SetEdgeDetectionTransition(ref config.EdgeDetection, transitionSeconds);
     SetStaticTransition(ref config.Static, transitionSeconds);
     SetOldMovieTransition(ref config.OldMovie, transitionSeconds);
     SetCrtEffectTransition(ref config.CRT, transitionSeconds);
 }
Пример #2
0
        private void CreateDefaultConfigurationAndFillBuffers()
        {
            var initialConfig = new StyleEffectGroupConfiguration()
            {
                Pixellate = new PixellateConfiguration
                {
                    Intensity     = 0.0f,
                    NumXDivisions = 120,
                    NumYDivisions = 67,
                },
                EdgeDetection = new EdgeDetectionConfiguration
                {
                    Intensity  = 0.0f,
                    IsFreichen = false
                },
                Static = new StaticConfiguration
                {
                    Intensity         = 0.0f,
                    TimeSpeed         = 1.0f,
                    IgnoreTransparent = 1,
                    TexelScaler       = 1.0f
                },
                OldMovie = new OldMovieConfiguration
                {
                    Intensity                    = 0.0f,
                    Scratch                      = 0.01f,
                    Noise                        = 0.009f,
                    RndShiftCutOff               = 0.6f,
                    RndShiftScalar               = 0.3f,
                    Dim                          = 0.3f,
                    ProbabilityRollStarts        = 0.005f,
                    ProbabilityRollEnds          = 0.04f,
                    RollSpeedMin                 = 0.00032f,
                    RollSpeedMax                 = 0.00012f,
                    RollAccelerationMin          = 0.0008f,
                    RollAccelerationMax          = 0.0012f,
                    RollShakeFactor              = 0.003f,
                    RollOverallScale             = 1.0f,
                    OverExposureProbabilityStart = 0.01f,
                    OverExposureFlickerTimeMin   = 20,
                    OverExposureFlickerTimeMax   = 45,
                    OverExposureIntensityMin     = 1.2f,
                    OverExposureIntensityMax     = 1.8f,
                    OverExposureOscillationsMin  = 2,
                    OverExposureOscillationsMax  = 6
                },
                CRT = new CrtEffectConfiguration
                {
                    RgbPixelFilterIntensity   = 0.0f,
                    RgbPixelFilterAmount      = 0.5f,
                    NumRgbFiltersHorizontally = 256,
                    NumRgbFiltersVertically   = 192,
                    SimpleScanlinesIntensity  = 0.0f
                }
            };

            SetEffectGroupTransition(ref initialConfig, 0.0f);
        }
Пример #3
0
        public void SetStyleEffectsGroupConfig(IStyleEffectsStage effect, StyleEffectGroupConfiguration config, float transitionSeconds)
        {
            if (effect == null)
            {
                throw new Yak2DException("Unable to set style effect as stage passed is null");
            }

            SetStyleEffectsGroupConfig(effect.Id, config, transitionSeconds);
        }
Пример #4
0
 public void SetStyleEffectsGroupConfig(ulong effect, StyleEffectGroupConfiguration config, float transitionSeconds)
 {
     CacheRenderStageModelInVisitor(effect);
     _renderStageVisitor.CachedStyleEffectStageModel?.SetEffectGroupTransition(ref config, transitionSeconds);
 }