1use wgpu::{
6 AddressMode, Device, FilterMode, Sampler, SamplerDescriptor, ShaderModule,
7 ShaderModuleDescriptor, ShaderSource,
8};
9
10#[must_use]
11pub fn create_shader_module(device: &Device, name: &str, shader_source: &str) -> ShaderModule {
12 device.create_shader_module(ShaderModuleDescriptor {
13 label: Some(name),
14 source: ShaderSource::Wgsl(shader_source.into()),
15 })
16}
17
18#[must_use]
19pub fn create_nearest_sampler(device: &Device, label: &str) -> Sampler {
20 device.create_sampler(&SamplerDescriptor {
21 label: Some(label),
22 address_mode_u: AddressMode::Repeat, address_mode_v: AddressMode::Repeat,
24 address_mode_w: AddressMode::Repeat,
25 mag_filter: FilterMode::Nearest,
26 min_filter: FilterMode::Nearest,
27 mipmap_filter: FilterMode::Nearest,
28 compare: None,
29 anisotropy_clamp: 1,
30 lod_min_clamp: 0.0,
31 lod_max_clamp: 32.0,
32 border_color: None,
33 })
34}