diff options
| author | Kai Stevenson <kai@kaistevenson.com> | 2026-08-25 00:32:16 -0700 |
|---|---|---|
| committer | Kai Stevenson <kai@kaistevenson.com> | 2026-08-25 00:32:16 -0700 |
| commit | a779011b9048cdda04887c77e20ee8936f332a7a (patch) | |
| tree | 6a771ff692d1717967755cc56e4534a582dd117a /src/main.rs | |
| parent | 9cb48c504ddb3882f39e2b17048f0593316a95ce (diff) | |
vfx pipeline
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs index ccca2db..6e6c9d9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,6 +4,7 @@ mod content; mod input; mod renderer; mod sim; +mod vfx; use futures::executor; use std::{collections::VecDeque, sync::Arc, time::Instant}; @@ -30,6 +31,7 @@ use crate::{ }, renderer::RendererState, sim::{rb_manager::DebugRenderMode, sim_manager::SimManager}, + vfx::VfxManager, }; pub type Error = Box<dyn std::error::Error>; @@ -58,6 +60,7 @@ struct App { // game input_manager: InputManager, camera: Option<Camera>, + vfx_manager: Option<VfxManager>, sim_manager: Option<SimManager>, // renderer @@ -77,7 +80,9 @@ impl App { camera.handle_camera_input(&self.input_manager, delta_time) } - if let Some(sim) = &mut self.sim_manager { + if let Some(sim) = &mut self.sim_manager + && let Some(vfx_manager) = &mut self.vfx_manager + { // --TEST SPAWNING-- if self.input_manager.pressed(Input::Action1) { sim.create_entity(entity_cube_def( @@ -97,7 +102,7 @@ impl App { )); } - sim.update(&self.config, &self.input_manager, delta_time); + sim.update(vfx_manager, &self.config, &self.input_manager, delta_time); self.input_manager.reset_for_frame(); } } @@ -113,6 +118,7 @@ impl Default for App { camera: None, + vfx_manager: Some(VfxManager::new()), sim_manager: Some(SimManager::new()), last_render: Instant::now(), @@ -206,15 +212,19 @@ impl ApplicationHandler for App { if let Some(renderer_state) = &mut self.renderer_state && let Some(sim) = &mut self.sim_manager + && let Some(vfx) = &mut self.vfx_manager && let Some(camera) = &mut self.camera { renderer_state.render( sim, + vfx, camera, &mut self.config, &self.diagnostics, &self.input_manager, ); + + vfx.after_render(delta_time); } } _ => {} |
