summaryrefslogtreecommitdiff
path: root/client/src/renderer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/renderer.rs')
-rw-r--r--client/src/renderer.rs7
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()));