diff options
author | metamuffin <metamuffin@disroot.org> | 2025-01-07 12:25:37 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-01-07 12:25:37 +0100 |
commit | d81eebe423fd3e00df5ff035ec24fe7fb37f2c62 (patch) | |
tree | e96dddf8e179f47dc030729d6f725c30dfa372d9 /client/src/renderer.rs | |
parent | 31ae23b7eb8cd0b688be07ae6cb4b5a96ee02a68 (diff) | |
download | weareserver-d81eebe423fd3e00df5ff035ec24fe7fb37f2c62.tar weareserver-d81eebe423fd3e00df5ff035ec24fe7fb37f2c62.tar.bz2 weareserver-d81eebe423fd3e00df5ff035ec24fe7fb37f2c62.tar.zst |
albedo texture works
Diffstat (limited to 'client/src/renderer.rs')
-rw-r--r-- | client/src/renderer.rs | 15 |
1 files changed, 10 insertions, 5 deletions
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<Queue>, device: Arc<Device>, 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())); |