diff --git a/src/main.rs b/src/main.rs index c11d9962..9473a5da 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,9 +3,6 @@ mod gui_rect; mod pipeline; mod texture; mod color_palette; -mod shader_cache; -mod pipeline_cache; -mod texture_cache; mod resource_cache; mod shader_stage; mod draw_command; diff --git a/src/pipeline_cache.rs b/src/pipeline_cache.rs deleted file mode 100644 index 0062afdc..00000000 --- a/src/pipeline_cache.rs +++ /dev/null @@ -1,59 +0,0 @@ -use std::collections::HashMap; -use super::pipeline::Pipeline; - -#[derive(Copy, Clone, PartialEq, Debug)] -struct CacheID { - index: usize, -} - -impl CacheID { - fn new(index: usize) -> Self { - Self { index } - } -} - -pub struct PipelineCache { - pub pipelines: Vec, - name_to_id: HashMap, -} - -impl PipelineCache { - pub fn new() -> Self { - let pipelines = Vec::new(); - let name_to_id = HashMap::new(); - - Self { - pipelines, - name_to_id, - } - } - - #[allow(dead_code)] - pub fn get(&self, name: &str) -> Option<&Pipeline> { - match self.name_to_id.get(name) { - Some(id) => self.pipelines.get(id.index), - None => None, - } - } - - #[allow(dead_code)] - pub fn set(&mut self, name: &str, pipeline: Pipeline) { - match self.name_to_id.get(name) { - Some(id) => { - self.pipelines[id.index] = pipeline; - }, - None => { - let last_index = self.name_to_id.len(); - let id = CacheID::new(last_index); - self.name_to_id.insert(String::from(name), id); - self.pipelines.push(pipeline); - } - } - } - - #[allow(dead_code)] - pub fn load(&mut self, device: &wgpu::Device, name: &str, vertex_shader: &wgpu::ShaderModule, fragment_shader: &wgpu::ShaderModule) { - let pipeline = Pipeline::new(device, vertex_shader, fragment_shader); - self.set(name, pipeline); - } -} \ No newline at end of file diff --git a/src/shader_cache.rs b/src/shader_cache.rs deleted file mode 100644 index 8dbbb168..00000000 --- a/src/shader_cache.rs +++ /dev/null @@ -1,75 +0,0 @@ -use std::collections::HashMap; - - -#[derive(Copy, Clone, PartialEq, Debug)] -struct CacheID { - index: usize, -} - -impl CacheID { - fn new(index: usize) -> Self { - Self { index } - } -} - -pub struct ShaderCache { - pub shaders: Vec, - name_to_id: HashMap, -} - -impl ShaderCache { - pub fn new() -> Self { - let shaders = Vec::new(); - let name_to_id = HashMap::new(); - - Self { - shaders, - name_to_id, - } - } - - #[allow(dead_code)] - pub fn get(&self, name: &str) -> Option<&wgpu::ShaderModule> { - match self.name_to_id.get(name) { - Some(id) => self.shaders.get(id.index), - None => None, - } - } - - #[allow(dead_code)] - pub fn set(&mut self, name: &str, shader: wgpu::ShaderModule) { - match self.name_to_id.get(name) { - Some(id) => { - self.shaders[id.index] = shader; - }, - None => { - let last_index = self.name_to_id.len(); - let id = CacheID::new(last_index); - self.name_to_id.insert(String::from(name), id); - self.shaders.push(shader); - } - } - } - - #[allow(dead_code)] - pub fn load(&mut self, device: &wgpu::Device, path: &str, shader_type: glsl_to_spirv::ShaderType) -> std::io::Result<()> { - if self.name_to_id.get(path).is_none() { - let source = std::fs::read_to_string(path)?; - let spirv = match glsl_to_spirv::compile(&source[..], shader_type) { - Ok(spirv_output) => spirv_output, - Err(message) => { - println!("Error compiling GLSL to SPIRV shader: {}", message); - panic!("{}", message); - } - }; - let compiled = wgpu::read_spirv(spirv)?; - let shader = device.create_shader_module(&compiled); - - let last_index = self.name_to_id.len(); - self.name_to_id.insert(String::from(path), CacheID::new(last_index)); - self.shaders.push(shader); - } - - Ok(()) - } -} \ No newline at end of file diff --git a/src/texture_cache.rs b/src/texture_cache.rs deleted file mode 100644 index 98bb5620..00000000 --- a/src/texture_cache.rs +++ /dev/null @@ -1,66 +0,0 @@ -use std::collections::HashMap; -use super::texture::Texture; - -#[derive(Copy, Clone, PartialEq, Debug)] -struct CacheID { - index: usize, -} - -impl CacheID { - fn new(index: usize) -> Self { - Self { index } - } -} - -pub struct TextureCache { - pub textures: Vec, - name_to_id: HashMap, -} - -impl TextureCache { - pub fn new() -> Self { - let textures = Vec::new(); - let name_to_id = HashMap::new(); - - Self { - textures, - name_to_id, - } - } - - #[allow(dead_code)] - pub fn get(&self, name: &str) -> Option<&Texture> { - match self.name_to_id.get(name) { - Some(id) => self.textures.get(id.index), - None => None, - } - } - - #[allow(dead_code)] - pub fn set(&mut self, name: &str, texture: Texture) { - match self.name_to_id.get(name) { - Some(id) => { - self.textures[id.index] = texture; - }, - None => { - let last_index = self.name_to_id.len(); - let id = CacheID::new(last_index); - self.name_to_id.insert(String::from(name), id); - self.textures.push(texture); - } - } - } - - #[allow(dead_code)] - pub fn load(&mut self, device: &wgpu::Device, queue: &mut wgpu::Queue, path: &str) -> std::io::Result<()> { - if self.name_to_id.get(path).is_none() { - let texture = Texture::from_filepath(device, queue, "textures/grid.png").unwrap(); - - let length = self.name_to_id.len(); - self.name_to_id.insert(String::from(path), CacheID::new(length)); - self.textures.push(texture); - } - - Ok(()) - } -} \ No newline at end of file