protected override void OnKeyUp(object sender, KeyEventArgs args) {
if (args.KeyCode == Keys.F2 && !args.Control && !args.Alt && !args.Shift || args.KeyCode == Keys.Escape && EditMode) {
EditMode = !EditMode;
return;
}
if (args.KeyCode == Keys.Space && !args.Control && !args.Alt && !args.Shift) {
return;
}
base.OnKeyUp(sender, args);
if (args.Handled) return;
switch (args.KeyCode) {
case Keys.Space:
if (!args.Control && args.Alt && !args.Shift) {
Kn5ObjectRenderer.AutoRotate = !Kn5ObjectRenderer.AutoRotate;
}
break;
case Keys.End:
_renderer.AutoAdjustTarget = true;
break;
case Keys.F7:
if (args.Alt) {
_renderer.UseInterpolationCamera = !_renderer.UseInterpolationCamera;
} else {
_renderer.UseFpsCamera = !_renderer.UseFpsCamera;
}
break;
case Keys.F8:
if (!_renderer.UseMsaa) {
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.F:
_renderer.UseFxaa = !_renderer.UseFxaa;
break;
case Keys.W:
_renderer.ShowWireframe = !_renderer.ShowWireframe;
break;
case Keys.B:
_renderer.UseBloom = !_renderer.UseBloom;
break;
}
}
}