diff options
author | metamuffin <metamuffin@disroot.org> | 2025-01-07 15:15:19 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-01-07 15:15:19 +0100 |
commit | e32de26dcb5e1498f2b2fa19cacb593bec518ef4 (patch) | |
tree | 8a5d3d0e4629d04527e1f8203adbfcbe9d03838a /client/src/renderer.rs | |
parent | d81eebe423fd3e00df5ff035ec24fe7fb37f2c62 (diff) | |
download | weareserver-e32de26dcb5e1498f2b2fa19cacb593bec518ef4.tar weareserver-e32de26dcb5e1498f2b2fa19cacb593bec518ef4.tar.bz2 weareserver-e32de26dcb5e1498f2b2fa19cacb593bec518ef4.tar.zst |
camera controller broken
Diffstat (limited to 'client/src/renderer.rs')
-rw-r--r-- | client/src/renderer.rs | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/client/src/renderer.rs b/client/src/renderer.rs index 3591503..3e06508 100644 --- a/client/src/renderer.rs +++ b/client/src/renderer.rs @@ -1,4 +1,4 @@ -use crate::{scene_prepare::ScenePreparer, scene_render::ScenePipeline}; +use crate::{camera::Camera, scene_prepare::ScenePreparer, scene_render::ScenePipeline}; use anyhow::{Result, anyhow}; use log::{info, warn}; use pollster::FutureExt; @@ -85,7 +85,7 @@ impl<'a> Renderer<'a> { self.scene_pipeline.resize(&self.device, width, height); } - pub fn draw(&mut self, scene: &SceneTree) -> Result<()> { + pub fn draw(&mut self, scene: &SceneTree, camera: &Camera) -> Result<()> { if self.surface_needs_reconfigure { self.surface .configure(&self.device, &self.surface_configuration); @@ -104,11 +104,14 @@ impl<'a> Renderer<'a> { .device .create_command_encoder(&CommandEncoderDescriptor { label: None }); + let projection = camera.to_matrix(); + self.scene_pipeline.draw( &mut commands, &target_view, scene, &mut self.scene_prepare.prefabs, + projection, ); let i = self.queue.submit(Some(commands.finish())); |