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 { wgpu::VertexBufferLayout {
array_stride: mem::size_of::<Instance>() as u64, array_stride: mem::size_of::<Instance>() as u64,
step_mode: wgpu::InputStepMode::Instance, step_mode: wgpu::InputStepMode::Instance,
attributes: &[ attributes: &wgpu::vertex_attr_array!(
wgpu::VertexAttribute { 1 => Float32x2,
shader_location: 1, 2 => Float32x2,
format: wgpu::VertexFormat::Float32x2, 3 => Float32x2,
offset: 0, 4 => Float32x2,
}, 5 => Sint32,
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,
},
],
}, },
], ],
}, },

View file

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

View file

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