blob: 47a16216f8f1f7038d0c285ae45bb51ffb689d61 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
use anyhow::Result;
use std::path::Path;
pub struct ShaderManager {
shader_dir: String,
}
impl ShaderManager {
pub fn new(shader_dir: &str) -> Self {
Self {
shader_dir: shader_dir.to_string(),
}
}
pub fn load_shader(&self, name: &str) -> Result<String> {
let path = Path::new(&self.shader_dir).join(name);
std::fs::read_to_string(path).map_err(|e| e.into())
}
pub fn watch_shaders(&self) -> Result<()> {
// TODO: Implement shader hot-reloading with notify crate
Ok(())
}
}
|