AcTools.Render.Wrapper.FancyShowroomWrapper.OnKeyUp C# (CSharp) Method

OnKeyUp() protected method

protected OnKeyUp ( object sender, KeyEventArgs args ) : void
sender object
args System.Windows.Forms.KeyEventArgs
return void
        protected override void OnKeyUp(object sender, KeyEventArgs args) {
            base.OnKeyUp(sender, args);
            if (args.Handled) return;

            switch (args.KeyCode) {
                case Keys.F1:
                    _renderer.Mode = DeferredShadingRenderer.RenderingMode.Result;
                    break;

                case Keys.F2:
                    _renderer.Mode = DeferredShadingRenderer.RenderingMode.DebugGBuffer;
                    break;

                case Keys.F3:
                    _renderer.Mode = DeferredShadingRenderer.RenderingMode.DebugPostEffects;
                    break;

                case Keys.F4:
                    _renderer.Mode = DeferredShadingRenderer.RenderingMode.DebugLighting;
                    break;

                case Keys.F5:
                    _renderer.Mode = DeferredShadingRenderer.RenderingMode.DebugLocalReflections;
                    break;

                case Keys.F6:
                    _renderer.Mode = DeferredShadingRenderer.RenderingMode.WithoutTransparent;
                    break;

                case Keys.F8:
                    var multipler = 2;
                    var image = _renderer.Shot(multipler);
                    var directory = FileUtils.GetDocumentsScreensDirectory();
                    FileUtils.EnsureDirectoryExists(directory);
                    var filename = Path.Combine(directory, $"__custom_showroom_{DateTime.Now.ToUnixTimestamp()}.jpg");
                    image.HighQualityResize(new Size(image.Width / multipler, image.Height / multipler)).Save(filename);
                    break;

                case Keys.A:
                    _renderer.AddLight();
                    break;

                case Keys.R:
                    if (args.Control) {
                        _renderer.UseCubemapReflections = !_renderer.UseCubemapReflections;
                    } else {
                        _renderer.UseLocalReflections = !_renderer.UseLocalReflections;
                    }
                    break;

                case Keys.S:
                    if (args.Control) {
                        _renderer.UseShadows = true;
                        _renderer.UseShadowsFilter = false;
                        _renderer.UseDebugShadows = !_renderer.UseDebugShadows;
                    } else if (args.Alt) {
                        _renderer.UseShadows = true;
                        _renderer.UseDebugShadows = false;
                        _renderer.UseShadowsFilter = !_renderer.UseShadowsFilter;
                    } else {
                        _renderer.UseDebugShadows = false;
                        _renderer.UseShadows = !_renderer.UseShadows;
                    }
                    break;

                case Keys.B:
                    if (args.Control) {
                        var helper = _renderer.DeviceContextHolder.GetHelper<HdrHelper>();
                        helper.BloomDebug = !helper.BloomDebug;
                    } else {
                        _renderer.BlurLocalReflections = !_renderer.BlurLocalReflections;
                    }
                    break;

                case Keys.L:
                    if (args.Control) {
                        _renderer.LimitLightsThroughGlass = !_renderer.LimitLightsThroughGlass;
                    }
                    break;

                case Keys.N:
                    _renderer.Daylight = !_renderer.Daylight;
                    break;

                case Keys.F:
                    if (args.Control) {
                        _renderer.UseFxaa = true;
                        _renderer.UseExperimentalSmaa = false;
                        _renderer.UseExperimentalFxaa = !_renderer.UseExperimentalFxaa;
                    } else if (args.Alt && SmaaHelper.IsSupported) {
                        _renderer.UseFxaa = true;
                        _renderer.UseExperimentalFxaa = false;
                        _renderer.UseExperimentalSmaa = !_renderer.UseExperimentalSmaa;
                    } else {
                        _renderer.UseExperimentalFxaa = false;
                        _renderer.UseFxaa = !_renderer.UseFxaa;
                    }
                    break;

                case Keys.Space:
                    if (args.Control) {
                        _renderer.AutoRotateSun = !_renderer.AutoRotateSun;
                    }
                    break;

                case Keys.Z:
                    _renderer.RemoveLight();
                    break;

                default:
                    return;
            }

            args.Handled = true;
        }
    }