summary refs log tree commit diff
path: root/src/files
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 /src/files
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
Diffstat (limited to 'src/files')
-rw-r--r--src/files/obj.rs5
1 files changed, 3 insertions, 2 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)
 }