variable number of textures?

This commit is contained in:
2021-10-22 11:03:50 +02:00
parent 0ccc56bbad
commit 8d5457c810
6 changed files with 52 additions and 35 deletions

View File

@@ -12,7 +12,8 @@ pub fn update_text(game_object_handle: GameObjectHandle, new_text: &str, new_siz
let mesh_index = go.mesh_index;
match brush.process_queued(|rect, text_data| {
update_text_texture(Some(go.textures.texture_index), renderer, rect, text_data);
debug_assert!(go.textures.len() == 1);
update_text_texture(Some(go.textures[0]), renderer, rect, text_data);
}, convert_vertices) {
Ok(BrushAction::Draw(quads)) => {
update_text_quads(quads, 420, Some(mesh_index), renderer);
@@ -20,7 +21,8 @@ pub fn update_text(game_object_handle: GameObjectHandle, new_text: &str, new_siz
Ok(BrushAction::ReDraw) => {},
Err(BrushError::TextureTooSmall { suggested }) => {
let size = Dimensions::Dim2d { width: suggested.0, height: suggested.1 };
renderer.resize_texture(go, go.textures.texture_index, size);
debug_assert!(go.textures.len() == 1);
renderer.resize_texture(go, go.textures[0], size);
brush.resize_texture(suggested.0, suggested.1);
update_text(game_object_handle, new_text, new_size, renderer, brush, game_objects);
},
@@ -100,8 +102,7 @@ pub fn update_text_quads(quads: Vec<Vec<TextVertex>>, texture_index: usize, mesh
let mesh_index = renderer.upload_mesh(mesh, None);
Some(MeshHandle {
index: mesh_index,
diffuse_handle: texture_index,
normal_handle: None,
textures: vec![texture_index],
original_path: None,
pipeline_index: 1
})