From d81eebe423fd3e00df5ff035ec24fe7fb37f2c62 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 7 Jan 2025 12:25:37 +0100 Subject: albedo texture works --- client/src/renderer.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'client/src/renderer.rs') diff --git a/client/src/renderer.rs b/client/src/renderer.rs index 3561d87..3591503 100644 --- a/client/src/renderer.rs +++ b/client/src/renderer.rs @@ -13,7 +13,7 @@ use winit::window::Window; pub struct Renderer<'a> { surface: Surface<'a>, - queue: Queue, + queue: Arc, device: Arc, surface_configuration: SurfaceConfiguration, scene_pipeline: ScenePipeline, @@ -60,10 +60,15 @@ impl<'a> Renderer<'a> { surface.configure(&device, &surface_configuration); let device = Arc::new(device); + let queue = Arc::new(queue); + + let (scene_pipeline, texture_bgl) = + ScenePipeline::new(&device, surface_configuration.format); + let scene_prepare = ScenePreparer::new(device.clone(), queue.clone(), texture_bgl); Ok(Self { - scene_pipeline: ScenePipeline::new(&device, surface_configuration.format), - scene_prepare: ScenePreparer::new(device.clone()), + scene_pipeline, + scene_prepare, surface, device, queue, @@ -77,6 +82,7 @@ impl<'a> Renderer<'a> { self.surface_configuration.height = height; self.surface .configure(&self.device, &self.surface_configuration); + self.scene_pipeline.resize(&self.device, width, height); } pub fn draw(&mut self, scene: &SceneTree) -> Result<()> { @@ -102,8 +108,7 @@ impl<'a> Renderer<'a> { &mut commands, &target_view, scene, - &self.scene_prepare.prefabs, - &mut self.scene_prepare.prefabs_needed, + &mut self.scene_prepare.prefabs, ); let i = self.queue.submit(Some(commands.finish())); -- cgit v1.2.3-70-g09d2