moves vertex and index buffer handling to scene
This commit is contained in:
parent
0b3be29525
commit
32577d548b
6 changed files with 111 additions and 79 deletions
|
@ -5,11 +5,12 @@ use std::collections::HashMap;
|
|||
use std::io::BufReader;
|
||||
|
||||
use crate::app_data;
|
||||
use crate::scene;
|
||||
use crate::vertex;
|
||||
|
||||
use cgmath::{vec3, vec2};
|
||||
|
||||
pub fn load_model(data: &mut app_data::AppData) -> Result<()> {
|
||||
pub fn load_model(data: &mut app_data::AppData, scene_handler: &mut scene::Scene) -> Result<()> {
|
||||
// Model
|
||||
|
||||
let mut reader = BufReader::new(File::open("./resources/viking_room.obj").expect("file not found"));
|
||||
|
@ -46,12 +47,12 @@ pub fn load_model(data: &mut app_data::AppData) -> Result<()> {
|
|||
};
|
||||
|
||||
if let Some(index) = unique_vertices.get(&vertex) {
|
||||
data.indices.push(*index as u32);
|
||||
scene_handler.indices.push(*index as u32);
|
||||
} else {
|
||||
let index = data.vertices.len();
|
||||
let index = scene_handler.vertices.len();
|
||||
unique_vertices.insert(vertex, index);
|
||||
data.vertices.push(vertex);
|
||||
data.indices.push(index as u32);
|
||||
scene_handler.vertices.push(vertex);
|
||||
scene_handler.indices.push(index as u32);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue