Example #1
0
 public void Render(ComputeMemory buffer, ComputeCommandQueue queue)
 {
     if (_doingScreenshot || _kernels == null)
     {
         return;
     }
     if (VideoRenderer.CheckForVideo(this))
     {
         return;
     }
     CoreRender(buffer, queue, _kernels, new Vector4((Vector3)_input.Camera.Position), new Vector4((Vector3)_input.Camera.Lookat), new Vector4((Vector3)_input.Camera.Up), _input.Camera.Frame, _input.Camera.Fov, 1, _input.Camera.FocalDistance, _width, _height, _globalSize, _localSize);
     _input.Frame++;
     if (_input.CheckForScreenshot())
     {
         _doingScreenshot = true;
         ThreadPool.QueueUserWorkItem(o =>
         {
             Screenshot();
             _doingScreenshot = false;
         });
     }
     if (_input.CheckForGif())
     {
         _doingScreenshot = true;
         ThreadPool.QueueUserWorkItem(o =>
         {
             GifRenderer.RenderGif(this);
             _doingScreenshot = false;
         });
     }
 }
Example #2
0
        private void KeyboardOnKeyDown(object sender, KeyboardKeyEventArgs keyboardKeyEventArgs)
        {
            switch (keyboardKeyEventArgs.Key)
            {
            case Key.P:
                _screenshot = true;
                break;

            case Key.O:
                VideoRenderer.TakeVideo();
                RenderWindow.SetStatus("Started video");
                break;

            case Key.I:
                _gif = true;
                break;

            case Key.J:
                VideoRenderer.AddFrame(_config);
                RenderWindow.SetStatus("Added keyframe");
                break;

            case Key.H:
                VideoRenderer.ClearFrames();
                RenderWindow.SetStatus("Cleared keyframes");
                break;

            case Key.L:
                SaveState();
                RenderWindow.SetStatus("Saved state");
                break;

            case Key.K:
                LoadStateInst();
                RenderWindow.SetStatus("Loaded state");
                break;
            }
        }