Ejemplo n.º 1
0
        private void MainWindow_Loaded(object sender, RoutedEventArgs _e)
        {
#if !DEBUG
            WTF.SuppressScriptErrors(true);
            WTF.Navigate(App.Current.Resources["urlApiStatistics"].ToString());
#endif

#if ENABLE_BLUR
            UIHelper.SetOwnerTransparency(Config.BackgroundA);
            //开启Blur透明效果
            BlurHelper.EnableBlur(this);
            AllowsTransparency = true;
#endif
            //刷新一下界面
            Reset();

            //开始获取公告
            new MOTDGetter().RunAsync((r) =>
            {
                textBoxGG.Text = r.Header + r.Separator + r.Message;
            });

            //检测更新
            new UpdateChecker().RunAsync((r) =>
            {
                if (r.NeedUpdate)
                {
                    new UpdateNoticeWindow(r)
                    {
                        Owner = this
                    }.ShowDialog();
                }
            });

            //哦,如果是第一次启动本软件,那么就显示一下提示吧!
            Task.Run(() =>
            {
                Thread.Sleep(1000);
                Dispatcher.Invoke(() =>
                {
                    if (Properties.Settings.Default.IsFirstLaunch)
                    {
                        var aboutPanel = new FastPanel(this.GridMain, new AboutPanel());
                        aboutPanel.Display();
                    }
                });
            });
#if PAID_VERSION
            BtnDonate.Content = App.Current.Resources["btnAccountInfo"];
            LanguageHelper.LanguageChanged += (s, e) =>
            {
                BtnDonate.Content = App.Current.Resources["btnAccountInfo"];
            };
#endif
        }
Ejemplo n.º 2
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            BlurHelper.MakeBlur(this);
            DownloadText.Text = $"{Application.Current.Resources["application.downloadingdatas"]}";

            Timer StartTimer = new Timer()
            {
                Interval = 1000
            };

            StartTimer.Start();
            StartTimer.Elapsed += (Sender, args) =>
            {
                var proc = Process.GetProcessesByName("Launchwares");
                if (proc.Length == 0)
                {
                    _Client.GetFiles();
                    StartTimer.Stop();
                }
            };
            StartTimer.Start();
        }
Ejemplo n.º 3
0
        private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
        {
            _blurHelper = new BlurHelper(HeaderBlurBg, false);

            ComparisonFiltersList.SelectedIndex = (int)_viewModel.ComparisonFilter;
            var index = (int)_viewModel.StatusFilter;

            index = index > 4 ? index - 1 : index;
            StatusFiltersList.SelectedIndex    = index - 1;
            SortOptionsList.SelectedIndex      = (int)_viewModel.ComparisonSorting;
            FilterStatusComboBox.SelectedIndex = (int)_viewModel.StatusFilterTarget;

            // Get scrollviewer
            _myScrollViewer   = GridView.GetFirstDescendantOfType <ScrollViewer>();
            _scrollProperties = ElementCompositionPreview.GetScrollViewerManipulationPropertySet(_myScrollViewer);

            // Setup the expression
            var scrollPropSet = _scrollProperties.GetSpecializedReference <ManipulationPropertySetReferenceNode>();
            var startOffset   = ExpressionValues.Constant.CreateConstantScalar("startOffset", 0.0f);
            var parallaxValue = 0.7f;
            var parallax      = (scrollPropSet.Translation.Y + startOffset);

            _parallaxExpression = parallax * parallaxValue - parallax / 1.11f;

            _lastColumns = (int)(GridView.ActualWidth / 380.0f);

            _isWide = Root.ActualWidth > 1205;
            UpdateVisualStates();

            _viewModel.CurrentItems.CollectionChanged += async(o, args) =>
            {
                await Task.Delay(500);

                _myScrollViewer.ChangeView(null, _myScrollViewer.VerticalOffset + 4, null);
            };
        }
Ejemplo n.º 4
0
 public void OnInitialize(DeviceContextHolder holder)
 {
     _effect = holder.GetEffect <EffectPpDarkSslr>();
     _effect.FxNoiseMap.SetResource(holder.GetRandomTexture(16, 16));
     _blurHelper = holder.GetHelper <BlurHelper>();
 }
Ejemplo n.º 5
0
 private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
 {
     UpdatePivotHeaderSizes();
     SizeChanged       += OnSizeChanged;
     _overlayBlurHelper = new BlurHelper(LoadingOverlay, false);
 }
Ejemplo n.º 6
0
        protected bool HdrPass(ShaderResourceView input, RenderTargetView output, Viewport viewport)
        {
            if (UseLensFlares)
            {
                // prepare effects
                if (_lensFlares == null)
                {
                    _lensFlares = DeviceContextHolder.GetEffect <EffectPpLensFlares>();
                }

                if (_hdr == null)
                {
                    _hdr = DeviceContextHolder.GetEffect <EffectPpHdr>();
                }

                if (_blur == null)
                {
                    _blur = DeviceContextHolder.GetHelper <BlurHelper>();
                }

                // filter bright areas by high threshold to downscaled buffer #1
                DeviceContext.Rasterizer.SetViewports(_bufferH1.Viewport);
                DeviceContext.OutputMerger.SetTargets(_bufferH1.TargetView);
                DeviceContext.ClearRenderTargetView(_bufferH1.TargetView, ColorTransparent);

                DeviceContextHolder.PrepareQuad(_hdr.LayoutPT);
                _hdr.FxInputMap.SetResource(input);
                _hdr.TechBloomHighThreshold.DrawAllPasses(DeviceContext, 6);

                DeviceContext.Rasterizer.SetViewports(_bufferH2.Viewport);
                DeviceContext.OutputMerger.SetTargets(_bufferH2.TargetView);
                DeviceContext.ClearRenderTargetView(_bufferH2.TargetView, ColorTransparent);

                DeviceContextHolder.PrepareQuad(_lensFlares.LayoutPT);
                _lensFlares.FxInputMap.SetResource(_bufferH1.View);
                _lensFlares.TechGhosts.DrawAllPasses(DeviceContext, 6);

                // blur bright areas from buffer #1 to itself using downscaled buffer #3 as a temporary one
                _blur.Blur(DeviceContextHolder, _bufferH2, _bufferH1, 2f, 2);

                // combine original buffer and buffer #1 with blurred bright areas to buffer #2
                DeviceContext.Rasterizer.SetViewports(viewport);
                DeviceContext.OutputMerger.SetTargets(output);

                _hdr.FxInputMap.SetResource(input);
                _hdr.FxBloomMap.SetResource(_bufferH2.View);
                GetHdrTechnique().DrawAllPasses(DeviceContext, 6);

                return(true);
            }

            if (UseBloom)
            {
                // prepare effects
                if (_hdr == null)
                {
                    _hdr = DeviceContextHolder.GetEffect <EffectPpHdr>();
                }

                if (_blur == null)
                {
                    _blur = DeviceContextHolder.GetHelper <BlurHelper>();
                }

                // filter bright areas by high threshold to downscaled buffer #1
                DeviceContext.Rasterizer.SetViewports(_bufferH1.Viewport);
                DeviceContext.OutputMerger.SetTargets(_bufferH1.TargetView);
                DeviceContext.ClearRenderTargetView(_bufferH1.TargetView, ColorTransparent);

                DeviceContextHolder.PrepareQuad(_hdr.LayoutPT);
                _hdr.FxInputMap.SetResource(input);
                _hdr.TechBloomHighThreshold.DrawAllPasses(DeviceContext, 6);

                // blur bright areas from buffer #1 to itself using downscaled buffer #3 as a temporary one
                _blur.Blur(DeviceContextHolder, _bufferH1, _bufferH2, 0.5f * BloomRadiusMultiplier, 2);

                // combine original buffer and buffer #1 with blurred bright areas to buffer #2
                DeviceContext.Rasterizer.SetViewports(viewport);
                DeviceContext.OutputMerger.SetTargets(output);

                _hdr.FxInputMap.SetResource(input);
                _hdr.FxBloomMap.SetResource(_bufferH1.View);
                GetHdrTechnique().DrawAllPasses(DeviceContext, 6);

                return(true);
            }

            if (ToneMapping != ToneMappingFn.None)
            {
                if (_hdr == null)
                {
                    _hdr = DeviceContextHolder.GetEffect <EffectPpHdr>();
                }

                DeviceContext.Rasterizer.SetViewports(viewport);
                DeviceContext.OutputMerger.SetTargets(output);
                DeviceContextHolder.PrepareQuad(_hdr.LayoutPT);

                _hdr.FxInputMap.SetResource(input);
                _hdr.FxBloomMap.SetResource(null);
                GetHdrTechnique().DrawAllPasses(DeviceContext, 6);
                return(true);
            }

            return(false);
        }
Ejemplo n.º 7
0
 private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
 {
     _blur1 = new BlurHelper(LoadingOverlay, false);
     _blur2 = new BlurHelper(LoadingOverlayComments, false);
 }
Ejemplo n.º 8
0
 public ProfilePage()
 {
     InitializeComponent();
     ViewModel.PropertyChanged += ViewModelOnPropertyChanged;
     Loaded += (sender, args) => _overlayBlurHelper = new BlurHelper(LoadingOverlay, false);
 }
Ejemplo n.º 9
0
 private void OnLoaded(object sender, RoutedEventArgs routedEventArgs)
 {
     _blur = new BlurHelper(LoadingOverlay, false);
     ClubsPivot.SelectedIndex = lastPivotIndex;
     _initialized             = true;
 }
Ejemplo n.º 10
0
        protected override void DrawSceneToBuffer()
        {
            if (!UseSslr && !UseAo)
            {
                base.DrawSceneToBuffer();
                return;
            }

            DrawPrepare();

            if (_sslrHelper == null)
            {
                _sslrHelper = DeviceContextHolder.GetHelper <DarkSslrHelper>();
            }

            if (_blurHelper == null)
            {
                _blurHelper = DeviceContextHolder.GetHelper <BlurHelper>();
            }

            // Draw scene to G-buffer to get normals, depth and base reflection
            DeviceContext.Rasterizer.SetViewports(Viewport);
            DeviceContext.OutputMerger.SetTargets(DepthStencilView, _sslrBufferBaseReflection?.TargetView, _gBufferNormals.TargetView, _gBufferDepth.TargetView);
            DeviceContext.ClearDepthStencilView(DepthStencilView, DepthStencilClearFlags.Depth | DepthStencilClearFlags.Stencil, 1.0f, 0);
            DeviceContext.ClearRenderTargetView(_gBufferNormals.TargetView, (Color4) new Vector4(0.5f));

            if (_sslrBufferBaseReflection != null)
            {
                DeviceContext.ClearRenderTargetView(_sslrBufferBaseReflection.TargetView, (Color4) new Vector4(0));
            }

            DeviceContext.ClearRenderTargetView(_gBufferDepth.TargetView, (Color4) new Vector4(1f));

            DeviceContext.OutputMerger.DepthStencilState = null;
            DeviceContext.OutputMerger.BlendState        = null;
            DeviceContext.Rasterizer.State = null;

            if (ShowroomNode != null)
            {
                ShowroomNode.Draw(DeviceContextHolder, ActualCamera, SpecialRenderMode.GBuffer);
            }
            else
            {
                if (_mirror != null)
                {
                    if (FlatMirror && !FlatMirrorBlurred)
                    {
                        _mirror.DrawReflection(DeviceContextHolder, ActualCamera, SpecialRenderMode.GBuffer);
                    }
                    else
                    {
                        _mirror.Draw(DeviceContextHolder, ActualCamera, SpecialRenderMode.GBuffer);
                    }
                }
            }

            CarNode?.Draw(DeviceContextHolder, ActualCamera, SpecialRenderMode.GBuffer);

            // AO?
            if (UseAo)
            {
                var aoHelper = _aoHelper;
                if (aoHelper == null)
                {
                    aoHelper = _aoHelper = GetAoHelper();
                }

                if (AoType == AoType.Hbao)
                {
                    UseSslr = true;
                    SetInnerBuffer(_sslrBufferScene);
                    DrawPreparedSceneToBuffer();
                    (aoHelper as HbaoHelper)?.Prepare(DeviceContextHolder, _sslrBufferScene.View);
                    SetInnerBuffer(null);
                }

                aoHelper.Draw(DeviceContextHolder,
                              _gBufferDepth.View,
                              _gBufferNormals.View,
                              ActualCamera, _aoBuffer.TargetView);
                aoHelper.Blur(DeviceContextHolder, _aoBuffer, InnerBuffer, Camera);

                var effect = Effect;
                effect.FxAoMap.SetResource(_aoBuffer.View);
                Effect.FxAoPower.Set(AoOpacity);
                effect.FxScreenSize.Set(new Vector4(Width, Height, 1f / Width, 1f / Height));

                if (AoDebug)
                {
                    DeviceContextHolder.GetHelper <CopyHelper>().Draw(DeviceContextHolder, _aoBuffer.View, InnerBuffer.TargetView);
                    return;
                }
            }

            if (UseSslr && _sslrBufferBaseReflection != null)
            {
                // Draw actual scene to _sslrBufferScene
                SetInnerBuffer(_sslrBufferScene);
                DrawPreparedSceneToBuffer();
                SetInnerBuffer(null);

                // Prepare SSLR and combine buffers
#if SSLR_PARAMETRIZED
                if (_sslrParamsChanged)
                {
                    _sslrParamsChanged = false;
                    var effect = DeviceContextHolder.GetEffect <EffectPpDarkSslr>();
                    effect.FxStartFrom.Set(_sslrStartFrom);
                    effect.FxFixMultiplier.Set(_sslrFixMultiplier);
                    effect.FxOffset.Set(_sslrOffset);
                    effect.FxGlowFix.Set(_sslrGrowFix);
                    effect.FxDistanceThreshold.Set(_sslrDistanceThreshold);
                }
#endif

                _sslrHelper.Draw(DeviceContextHolder,
                                 _gBufferDepth.View,
                                 _sslrBufferBaseReflection.View,
                                 _gBufferNormals.View,
                                 ActualCamera, _sslrBufferResult.TargetView);
                _blurHelper.BlurDarkSslr(DeviceContextHolder, _sslrBufferResult, InnerBuffer, (float)(2f * ResolutionMultiplier));
                _sslrHelper.FinalStep(DeviceContextHolder,
                                      _sslrBufferScene.View,
                                      _sslrBufferResult.View,
                                      _sslrBufferBaseReflection.View,
                                      _gBufferNormals.View,
                                      ActualCamera, InnerBuffer.TargetView);
            }
            else
            {
                DrawPreparedSceneToBuffer();
            }
        }