Ejemplo n.º 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;
         });
     }
 }