diff options
| author | Irene Knapp <ireneista@irenes.space> | 2026-08-09 18:19:13 -0700 |
|---|---|---|
| committer | Irene Knapp <ireneista@irenes.space> | 2026-08-09 18:19:13 -0700 |
| commit | 677b697eb18b9abb252eacff320aa48314075a0e (patch) | |
| tree | 4da0f8013b4ac5b762f293ac5ee2d8e8fd6dc3dc | |
| parent | 1216c5f3dd1f902fb545db875e2b88f50d24e580 (diff) | |
change the interface to load_obj()
now it matches load_png() in a sort of abstract, high-level way this is meant to make it easier to abstract over assets Force-Push: yes Change-Id: Icddc6180e0c78c29bebbd47d84bb381c4fd0c3ca
| -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); |