From 88d6ae3e4854c5fb4b37f75a29aba4f13dcfb382 Mon Sep 17 00:00:00 2001 From: HampusM Date: Mon, 19 Feb 2024 23:06:17 +0100 Subject: refactor(engine): create shaders on start --- engine/src/lib.rs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'engine/src/lib.rs') diff --git a/engine/src/lib.rs b/engine/src/lib.rs index fada83f..a1d9e2f 100644 --- a/engine/src/lib.rs +++ b/engine/src/lib.rs @@ -25,6 +25,7 @@ pub mod material; pub mod math; pub mod mesh; pub mod object; +pub mod shader; pub mod texture; pub mod vertex; @@ -140,6 +141,10 @@ where /// Will return `Err` if updating the window fails. pub fn start(&mut self, mut func: impl FnMut(&mut Self)) -> Result<(), Error> { + self.renderer + .create_shader_programs(self.objects.values().map(Object::shader)) + .map_err(Error::ShaderCreationFailed)?; + let mut prev_frame_start: Option = None; while !self.window.should_close() { @@ -288,6 +293,9 @@ pub enum Error #[error("Rendering failed")] RenderingFailed(#[source] renderer::Error), + + #[error("Failed to create shaders")] + ShaderCreationFailed(#[source] renderer::Error), } #[derive(Debug)] -- cgit v1.2.3-18-g5258