Inline redundant constructors

This commit is contained in:
Hanno Braun 2024-11-22 19:02:00 +01:00
parent c710e63479
commit bae966fa63
2 changed files with 10 additions and 27 deletions

View File

@ -1,6 +1,6 @@
use super::{
geometry::Geometry,
shaders::{Shaders, Vertex},
shaders::{Shaders, TrianglesVertex, Vertex, VerticesVertex},
};
pub struct Pipelines {
@ -35,7 +35,10 @@ impl Pipeline {
config: &wgpu::SurfaceConfiguration,
uniforms: &wgpu::Buffer,
) -> Self {
let vertices_shaders = Shaders::vertices(device, config);
let shader_module = device
.create_shader_module(wgpu::include_wgsl!("shaders/vertices.wgsl"));
let vertices_shaders =
Shaders::<VerticesVertex>::new(device, config, shader_module);
Self::new(device, &vertices_shaders, uniforms)
}
@ -44,7 +47,11 @@ impl Pipeline {
config: &wgpu::SurfaceConfiguration,
uniforms: &wgpu::Buffer,
) -> Self {
let triangles_shaders = Shaders::triangles(device, config);
let shader_module = device.create_shader_module(wgpu::include_wgsl!(
"shaders/triangles.wgsl"
));
let triangles_shaders =
Shaders::<TrianglesVertex>::new(device, config, shader_module);
Self::new(device, &triangles_shaders, uniforms)
}

View File

@ -9,30 +9,6 @@ pub struct Shaders<V> {
_vertex: PhantomData<V>,
}
impl Shaders<VerticesVertex> {
pub fn vertices(
device: &wgpu::Device,
config: &wgpu::SurfaceConfiguration,
) -> Self {
let shader_module =
device.create_shader_module(wgpu::include_wgsl!("vertices.wgsl"));
Self::new(device, config, shader_module)
}
}
impl Shaders<TrianglesVertex> {
pub fn triangles(
device: &wgpu::Device,
config: &wgpu::SurfaceConfiguration,
) -> Self {
let shader_module =
device.create_shader_module(wgpu::include_wgsl!("triangles.wgsl"));
Self::new(device, config, shader_module)
}
}
impl<V> Shaders<V> {
pub fn new(
device: &wgpu::Device,