Initial wgpu abstraction

This commit is contained in:
Werner
2021-11-09 21:07:16 -03:00
parent 15e8989bef
commit b23bc27f55
25 changed files with 775 additions and 209 deletions

View File

@ -0,0 +1,21 @@
use super::VertexFormat;
use serde::{Deserialize, Serialize};
use std::borrow::Cow;
#[derive(Clone, Debug, Hash, Eq, PartialEq, Serialize, Deserialize)]
pub struct VertexAttribute {
pub label: Cow<'static, str>,
pub format: VertexFormat,
pub offset: usize,
pub shader_location: u32,
}
impl From<VertexAttribute> for wgpu::VertexAttribute {
fn from(attr: VertexAttribute) -> Self {
wgpu::VertexAttribute {
offset: attr.offset as wgpu::BufferAddress,
shader_location: attr.shader_location,
format: attr.format.into(),
}
}
}