From 6c303ecf3824ae07ebb30963058c688d054b4a4e Mon Sep 17 00:00:00 2001 From: Brooks Palin Date: Thu, 29 Feb 2024 21:41:33 -0700 Subject: [PATCH] Program now terinates --- studio/src/main-headless.rs | 2 +- studio/src/screenshot.rs | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/studio/src/main-headless.rs b/studio/src/main-headless.rs index 282c7ce..1c789ed 100644 --- a/studio/src/main-headless.rs +++ b/studio/src/main-headless.rs @@ -170,7 +170,7 @@ fn orbit_scene ( ) { let Ok(mut main_cam_transform) = camera.get_single_mut() else { return }; - main_cam_transform.translation = Vec3::new(orbit_settings.radius * time.elapsed_seconds().cos(), orbit_settings.radius * time.elapsed_seconds().sin(), 6.0); + main_cam_transform.translation = Vec3::new(orbit_settings.radius * time.elapsed_seconds().cos() * 10.0, orbit_settings.radius * time.elapsed_seconds().sin(), 6.0); main_cam_transform.look_at(Vec3::ZERO, Vec3::Y); } diff --git a/studio/src/screenshot.rs b/studio/src/screenshot.rs index f254ecc..05c9cee 100644 --- a/studio/src/screenshot.rs +++ b/studio/src/screenshot.rs @@ -1,7 +1,5 @@ use bevy::{ - core_pipeline::{core_3d, prepass::ViewPrepassTextures}, - prelude::*, - render::{ + app::AppExit, core_pipeline::{core_3d, prepass::ViewPrepassTextures}, prelude::*, render::{ render_graph::{RenderGraphApp, ViewNode, ViewNodeRunner}, render_resource::{ Buffer, BufferDescriptor, BufferUsages, ImageCopyBuffer, ImageDataLayout, MapMode, @@ -9,7 +7,7 @@ use bevy::{ renderer::RenderDevice, view::ViewTarget, Extract, Render, RenderSet, - }, + } }; use bytemuck::AnyBitPattern; use image::{ @@ -123,9 +121,13 @@ impl ScreenCapture { } } -fn update_screen_capture_on_extract_step(mut screen_captures: Query<&mut ScreenCapture>) { +fn update_screen_capture_on_extract_step(mut screen_captures: Query<&mut ScreenCapture>, mut exit_event : EventWriter) { for mut screen_capture in screen_captures.iter_mut() { screen_capture.frames += 1; + + if !screen_capture.should_capture() { + exit_event.send(AppExit); + } // if screen_capture.number_of_frames == 0 { // commands.entity(entity).remove::(); // }