diff options
Diffstat (limited to 'client/src/shaders/mod.rs')
-rw-r--r-- | client/src/shaders/mod.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/client/src/shaders/mod.rs b/client/src/shaders/mod.rs new file mode 100644 index 0000000..42b2164 --- /dev/null +++ b/client/src/shaders/mod.rs @@ -0,0 +1,21 @@ +use log::info; +use wgpu::{Device, ShaderModule, include_wgsl}; + +pub struct SceneShaders { + pub fragment_pbr: ShaderModule, + pub vertex_world: ShaderModule, + pub vertex_world_skin: ShaderModule, +} + +impl SceneShaders { + pub fn load(device: &Device) -> Self { + info!("compiling shaders..."); + let s = Self { + fragment_pbr: device.create_shader_module(include_wgsl!("fragment_pbr.wgsl")), + vertex_world: device.create_shader_module(include_wgsl!("vertex_world.wgsl")), + vertex_world_skin: device.create_shader_module(include_wgsl!("vertex_world_skin.wgsl")), + }; + info!("done"); + s + } +} |