diff options
Diffstat (limited to 'client/src/renderer.rs')
-rw-r--r-- | client/src/renderer.rs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/client/src/renderer.rs b/client/src/renderer.rs index b1ff227..66f8c5e 100644 --- a/client/src/renderer.rs +++ b/client/src/renderer.rs @@ -14,7 +14,9 @@ You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>. */ -use crate::{camera::Camera, scene_prepare::ScenePreparer, scene_render::ScenePipeline}; +use crate::{ + camera::Camera, scene_prepare::ScenePreparer, scene_render::ScenePipeline, ui::UiRenderer, +}; use anyhow::{Result, anyhow}; use log::{info, warn}; use pollster::FutureExt; @@ -33,6 +35,7 @@ pub struct Renderer<'a> { device: Arc<Device>, surface_configuration: SurfaceConfiguration, scene_pipeline: ScenePipeline, + ui_renderer: UiRenderer, pub scene_prepare: ScenePreparer, surface_needs_reconfigure: bool, } @@ -82,6 +85,8 @@ impl<'a> Renderer<'a> { ScenePipeline::new(&device, surface_configuration.format); let scene_prepare = ScenePreparer::new(device.clone(), queue.clone(), texture_bgl); + let ui_renderer = UiRenderer::new(&device, surface_configuration.format); + Ok(Self { scene_pipeline, scene_prepare, @@ -89,6 +94,7 @@ impl<'a> Renderer<'a> { device, queue, surface_configuration, + ui_renderer, surface_needs_reconfigure: false, }) } @@ -130,6 +136,14 @@ impl<'a> Renderer<'a> { projection, ); + self.ui_renderer.draw( + &self.device, + &self.queue, + &mut commands, + &target_view, + projection, + ); + let i = self.queue.submit(Some(commands.finish())); self.device.poll(MaintainBase::WaitForSubmissionIndex(i)); |