private void toolStripRenderer_SelectedIndexChanged(object sender, EventArgs e) { RenderType renderType = this.toolStripRenderer.SelectedItem != null ? (RenderType)this.toolStripRenderer.SelectedItem : RenderType.RayTracer; StrategyType strategyType = this.toolStripStrategy.SelectedItem != null ? (StrategyType)this.toolStripStrategy.SelectedItem : StrategyType.Progressive; RenderStrategy strategy = new ProgressiveRenderStrategy(); switch (strategyType) { case StrategyType.Scanline: strategy = new ScanlineRenderStrategy(); break; case StrategyType.Progressive: strategy = new ProgressiveRenderStrategy(); break; } switch (renderType) { case RenderType.RayTracer: this.tracer = new RayTracer(UnifiedScenesRepository.Scenes[this.TabText], strategy); break; case RenderType.PhotonTracer: this.tracer = new PhotonTracer(UnifiedScenesRepository.Scenes[this.TabText], strategy, 500000); break; case RenderType.DistributedRayTracer: this.tracer = new DistributedRayTracer(UnifiedScenesRepository.Scenes[this.TabText], strategy); break; } }