summaryrefslogtreecommitdiff
path: root/client/src/shaders/mod.rs
blob: 42b2164bee2d268b5f3da7cd40043daa8750d1de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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
    }
}