public void MakeVideo(string videoName) { watch.Start(); int imgCount = Option.VideoFPS * Option.VideoDuration; Bitmap[] image_sequence = new Bitmap[imgCount]; tasksSceneRenderer = new PotatoTasksSceneRenderer(Scene.PotatoSceneData); for (int i = 0; i < imgCount; i++) { Bitmap[] imgs = tasksSceneRenderer.Run(); BlendAllRenderedImageContainInTasksResult(imgs); Bitmap finalImage = imageBlender.GetFinalImageRender(); image_sequence[i] = finalImage.Clone(new Rectangle(0, 0, finalImage.Width, finalImage.Height), finalImage.PixelFormat); //Scene.PotatoSceneData.Camera.Position = Scene.PotatoSceneData.Camera.Position + new System.DoubleNumerics.Vector3(1, 0, 0); for (int j = 0; j < Scene.PotatoSceneData.Spheres.Count; j++) { Scene.PotatoSceneData.Spheres[j].Position = Scene.PotatoSceneData.Spheres[j].Position + new System.DoubleNumerics.Vector3(1, 0, 0); } imageBlender.Clear(); } ClearRenderContext(); CreateVideo(videoName, image_sequence); watch.Stop(); }
public void Start(string imageName) { Bitmap[] imgs = tasksSceneRenderer.Run(); BlendAllRenderedImageContainInTasksResult(imgs); SaveAndOpenImage(imageName); ClearRenderContext(); }
public void MakeImage(string imageName) { watch.Start(); tasksSceneRenderer = new PotatoTasksSceneRenderer(Scene.PotatoSceneData); Bitmap[] imgs = tasksSceneRenderer.Run(); BlendAllRenderedImageContainInTasksResult(imgs); SaveAndOpenImage(imageName); ClearRenderContext(); watch.Stop(); }