public void ColorPixels() { RenderStarting?.Invoke(this, EventArgs.Empty); Passes = 0; RenderStarted?.Invoke(this, EventArgs.Empty); while (true) { while (Passes < MaxPasses) { ColorPass(Passes); Thread.Sleep(5); if (_shutdown) { break; } Passes += 1; } if (!_completionTriggered && Passes >= MaxPasses) { _completionTriggered = true; MaxPassesCompleted?.Invoke(this, EventArgs.Empty); } Thread.Sleep(5); if (_shutdown) { break; } } }
public void preFindVisibleObjects(SceneManager sceneManager, SceneManager.IlluminationRenderStage irs, Viewport viewport) { if (this.viewport == viewport) { if (RenderStarted != null) { RenderStarted.Invoke(this, EventArgs.Empty); } resized(); renderManager.update(); } }
public void Start() { logger.Debug("D3DImageRenderer::Start()"); if (!(state == RendererState.Stopped || state == RendererState.Initialized)) { throw new InvalidOperationException("Invalid renderer state " + State); } // OnPropertyChanged(nameof(ScreenView)); renderTask = Task.Run(() => { logger.Debug("Render thread started..."); state = RendererState.Rendering; RenderStarted?.Invoke(); //OnPropertyChanged(nameof(ScreenView)); try { while (State == RendererState.Rendering) { Draw(); waitEvent?.WaitOne(1000); } } catch (Exception ex) { logger.Error(ex); errorCode = MediaToolkit.SharedTypes.ErrorCode.Fail; } finally { state = RendererState.Stopped; RenderStopped?.Invoke(null); logger.Debug("Render thread stopped...)"); } }); // timer.Start(); }