diff options
| -rw-r--r-- | src/files/obj.rs | 5 | ||||
| -rw-r--r-- | src/main.rs | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/files/obj.rs b/src/files/obj.rs index c45ffbf..af2ce03 100644 --- a/src/files/obj.rs +++ b/src/files/obj.rs @@ -1,5 +1,6 @@ #![forbid(unsafe_code)] use crate::error::*; +use crate::graphics::{ Permanent, Model }; use crate::linear_algebra::{ Vec2, Vec3 }; use crate::shader_data::Vertex; @@ -8,7 +9,7 @@ use std::io::Cursor; use tobj::{ load_obj_buf, LoadOptions }; -pub fn load_obj() -> Result<(Vec<Vertex<f32>>, Vec<u32>)> { +pub fn load_obj(permanent: &Permanent) -> Result<Model> { let obj = include_bytes!("../../models/teapot.obj"); let load_options = LoadOptions { @@ -39,6 +40,6 @@ pub fn load_obj() -> Result<(Vec<Vertex<f32>>, Vec<u32>)> { } } - Ok((vertices, indices)) + Model::new(vertices, indices, permanent) } diff --git a/src/main.rs b/src/main.rs index 819ce40..b4f7970 100644 --- a/src/main.rs +++ b/src/main.rs @@ -75,8 +75,8 @@ impl Surreality { enable_anisotropy, mip_count)?; let mut render = Render::new(&permanent, &for_reinit, &window_dressing, &texture)?; - let (vertices, indices) = load_obj()?; - render.set_model(Model::new(vertices, indices, &permanent)?); + let model = load_obj(&permanent)?; + render.set_model(model); *self.window_dressing.get_mut() = Some(window_dressing); *self.render.get_mut() = Some(render); |