summary refs log tree commit diff
diff options
context:
space:
mode:
authorIrene Knapp <ireneista@irenes.space>2026-08-09 18:19:13 -0700
committerIrene Knapp <ireneista@irenes.space>2026-08-09 18:19:13 -0700
commit677b697eb18b9abb252eacff320aa48314075a0e (patch)
tree4da0f8013b4ac5b762f293ac5ee2d8e8fd6dc3dc
parent1216c5f3dd1f902fb545db875e2b88f50d24e580 (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.rs5
-rw-r--r--src/main.rs4
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);