public void Render(ICameraParameters camParams, RenderParameters renderParameters, World world) { Image = new Canvas(camParams.Width, camParams.Height); var camera = camParams.BuildCamera(); stopRequested = false; RenderStatistics = new RenderStatistics { Start = DateTime.Now, TotalPixels = camParams.Width * camParams.Height }; Render(camera, world, renderParameters.NbThreads, shuffle: renderParameters.Shuffle); }
public void Run(string sceneName, ICameraParameters cameraParameters, RenderParameters renderParameters) { timer.Start(); Scene = CreateScene(sceneName); if (Scene == null) { return; } Scene.InitWorld(); bitmap = new Bitmap(cameraParameters.Width, cameraParameters.Height); for (int i = 0; i < bitmap.Height; i++) { for (int j = 0; j < bitmap.Width; j++) { bitmap.SetPixel(j, i, Color.Black); } } pixels = Enumerable.Range(0, cameraParameters.Height).Select(i => new bool[cameraParameters.Width]).ToArray(); RenderManager.Render(cameraParameters, renderParameters, Scene.World); }