public void EndToEndTest() { // Arrange. var device = new Device(); var logger = new TracefileBuilder(device); var expectedData = RenderScene(device); var stringWriter = new StringWriter(); logger.WriteTo(stringWriter); var loggedJson = stringWriter.ToString(); var logReader = new StringReader(loggedJson); var tracefile = Tracefile.FromTextReader(logReader); // Act. var swapChainPresenter = new RawSwapChainPresenter(); var replayer = new Replayer( tracefile.Frames[0], tracefile.Frames[0].Events.Last(), swapChainPresenter); replayer.Replay(); var actualData = swapChainPresenter.Data; // Assert. Assert.That(actualData, Is.EqualTo(expectedData)); }
private void OnSelectedEventChanged(object sender, TracefileEventChangedEventArgs e) { NotifyOfPropertyChange(() => SelectedEvent); if (_selectionService.SelectedEvent == null) return; var swapChainPresenter = new WpfSwapChainPresenter(Dispatcher.CurrentDispatcher); var replayer = new Replayer( _selectionService.SelectedFrame.Model, _selectionService.SelectedEvent.Model, swapChainPresenter); //Task.Factory.StartNew(() => //{ // replayer.Replay(); //}); }
private void OnSelectedEventChanged(object sender, TracefileEventChangedEventArgs e) { NotifyOfPropertyChange(() => SelectedEvent); _objects.Clear(); if (_selectionService.SelectedEvent == null) return; var swapChainPresenter = new WpfSwapChainPresenter(Dispatcher.CurrentDispatcher); var replayer = new Replayer( _selectionService.SelectedFrame.Model, _selectionService.SelectedEvent.Model, swapChainPresenter); Task.Factory.StartNew(() => { replayer.Replay(); _objects.AddRange(replayer.Device.DeviceChildren .Select(x => new GraphicsObjectViewModel(x))); }); }
private void OnSelectedPixelChanged(object sender, PixelChangedEventArgs e) { FrameNumber = _selectionService.SelectedFrame.Number; PixelLocation = e.SelectedPixel; HasSelectedPixel = true; _pixelEvents.Clear(); var swapChainPresenter = new WpfSwapChainPresenter(Dispatcher.CurrentDispatcher); var replayer = new Replayer( _selectionService.SelectedFrame.Model, _selectionService.SelectedEvent.Model, swapChainPresenter, _selectionService.SelectedFrame.ActiveRenderTargetViewIdentifier, _selectionService.SelectedFrame.ActiveRenderTargetArraySlice, e.SelectedPixel.X, e.SelectedPixel.Y); Task.Factory.StartNew(() => { replayer.Replay(); var events = replayer.Logger.GetPixelHistoryEvents(_selectionService.SelectedFrame.Number); _pixelEvents.AddRange(events.Select(x => new PixelHistoryEventViewModel(x))); FinalFrameBufferColor = ((ColorResultViewModel) _pixelEvents.Last(x => x.Result is ColorResultViewModel).Result).Result; }); }