summary refs log tree commit diff
diff options
context:
space:
mode:
-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);