summaryrefslogtreecommitdiff
path: root/client/src/renderer.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-01-10 22:04:34 +0100
committermetamuffin <metamuffin@disroot.org>2025-01-10 22:04:34 +0100
commit2c8360de342872f65bdef037f3fb5d598b8f26a0 (patch)
treed98b670f73a4f799f1f2c459caec09166b9304e9 /client/src/renderer.rs
parentcb46b760ae8d4aeaa0e92a9c313927ffdef27873 (diff)
downloadweareserver-2c8360de342872f65bdef037f3fb5d598b8f26a0.tar
weareserver-2c8360de342872f65bdef037f3fb5d598b8f26a0.tar.bz2
weareserver-2c8360de342872f65bdef037f3fb5d598b8f26a0.tar.zst
unprojecting to ui surf is hard
Diffstat (limited to 'client/src/renderer.rs')
-rw-r--r--client/src/renderer.rs19
1 files changed, 15 insertions, 4 deletions
diff --git a/client/src/renderer.rs b/client/src/renderer.rs
index a9a2332..473349d 100644
--- a/client/src/renderer.rs
+++ b/client/src/renderer.rs
@@ -16,7 +16,7 @@
*/
use crate::{
camera::Camera, download::Downloader, scene_prepare::ScenePreparer,
- scene_render::ScenePipeline, ui::UiRenderer,
+ scene_render::ScenePipeline, state::InputState, ui::UiRenderer,
};
use anyhow::{Result, anyhow};
use log::{info, warn};
@@ -163,7 +163,12 @@ impl<'a> Renderer<'a> {
.create_view(&TextureViewDescriptor::default());
}
- pub fn draw(&mut self, scene: &SceneTree, camera: &Camera) -> Result<()> {
+ pub fn draw(
+ &mut self,
+ scene: &SceneTree,
+ camera: &Camera,
+ input_state: &InputState,
+ ) -> Result<()> {
if self.surface_needs_reconfigure {
self.surface
.configure(&self.device, &self.surface_configuration);
@@ -193,8 +198,14 @@ impl<'a> Renderer<'a> {
projection,
);
- self.ui_renderer
- .draw(&mut commands, &target_view, &self.depth, projection);
+ self.ui_renderer.draw(
+ &mut commands,
+ &target_view,
+ &self.depth,
+ projection,
+ input_state,
+ &self.surface_configuration,
+ );
let i = self.queue.submit(Some(commands.finish()));
self.device.poll(MaintainBase::WaitForSubmissionIndex(i));