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; }); } }