Use vertex_attr_array macro

This commit is contained in:
Poly 2021-06-20 11:29:23 +02:00 committed by Héctor Ramón Jiménez
parent c70f90f320
commit a53e7559fe
3 changed files with 19 additions and 71 deletions

View File

@ -165,33 +165,13 @@ impl Pipeline {
wgpu::VertexBufferLayout {
array_stride: mem::size_of::<Instance>() as u64,
step_mode: wgpu::InputStepMode::Instance,
attributes: &[
wgpu::VertexAttribute {
shader_location: 1,
format: wgpu::VertexFormat::Float32x2,
offset: 0,
},
wgpu::VertexAttribute {
shader_location: 2,
format: wgpu::VertexFormat::Float32x2,
offset: 4 * 2,
},
wgpu::VertexAttribute {
shader_location: 3,
format: wgpu::VertexFormat::Float32x2,
offset: 4 * 4,
},
wgpu::VertexAttribute {
shader_location: 4,
format: wgpu::VertexFormat::Float32x2,
offset: 4 * 6,
},
wgpu::VertexAttribute {
shader_location: 5,
format: wgpu::VertexFormat::Sint32,
offset: 4 * 8,
},
],
attributes: &wgpu::vertex_attr_array!(
1 => Float32x2,
2 => Float32x2,
3 => Float32x2,
4 => Float32x2,
5 => Sint32,
),
},
],
},

View File

@ -87,38 +87,14 @@ impl Pipeline {
wgpu::VertexBufferLayout {
array_stride: mem::size_of::<layer::Quad>() as u64,
step_mode: wgpu::InputStepMode::Instance,
attributes: &[
wgpu::VertexAttribute {
shader_location: 1,
format: wgpu::VertexFormat::Float32x2,
offset: 0,
},
wgpu::VertexAttribute {
shader_location: 2,
format: wgpu::VertexFormat::Float32x2,
offset: 4 * 2,
},
wgpu::VertexAttribute {
shader_location: 3,
format: wgpu::VertexFormat::Float32x4,
offset: 4 * (2 + 2),
},
wgpu::VertexAttribute {
shader_location: 4,
format: wgpu::VertexFormat::Float32x4,
offset: 4 * (2 + 2 + 4),
},
wgpu::VertexAttribute {
shader_location: 5,
format: wgpu::VertexFormat::Float32,
offset: 4 * (2 + 2 + 4 + 4),
},
wgpu::VertexAttribute {
shader_location: 6,
format: wgpu::VertexFormat::Float32,
offset: 4 * (2 + 2 + 4 + 4 + 1),
},
],
attributes: &wgpu::vertex_attr_array!(
1 => Float32x2,
2 => Float32x2,
3 => Float32x4,
4 => Float32x4,
5 => Float32,
6 => Float32,
),
},
],
},

View File

@ -150,20 +150,12 @@ impl Pipeline {
buffers: &[wgpu::VertexBufferLayout {
array_stride: mem::size_of::<Vertex2D>() as u64,
step_mode: wgpu::InputStepMode::Vertex,
attributes: &[
attributes: &wgpu::vertex_attr_array!(
// Position
wgpu::VertexAttribute {
shader_location: 0,
format: wgpu::VertexFormat::Float32x2,
offset: 0,
},
0 => Float32x2,
// Color
wgpu::VertexAttribute {
shader_location: 1,
format: wgpu::VertexFormat::Float32x4,
offset: 4 * 2,
},
],
1 => Float32x4,
),
}],
},
fragment: Some(wgpu::FragmentState {