forte_engine 0.2.3

A core for a basic render/game engine designed to have little overhead.
Documentation
/// A rust representation of what a Vertex that is passed to mesh and onto WGPU and its shaders.
#[repr(C)]
#[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
pub struct Vertex {
    pub position: [f32; 3],
    pub tex_coords: [f32; 2],
    pub normal: [f32; 3]
}

impl Vertex {
    /// This is the vertex attributes used by vertices.  This is here to promote consistency across implementations.
    const ATTRIBS: [wgpu::VertexAttribute; 3] =
        wgpu::vertex_attr_array![0 => Float32x3, 1 => Float32x2, 2 => Float32x3];

    // Creates a new vertex buffer layout that should be given to pipelines so they know how to use vertices properly.  This is here to promote consistency across implementations.
    pub fn desc() -> wgpu::VertexBufferLayout<'static> {
        wgpu::VertexBufferLayout {
            array_stride: std::mem::size_of::<Vertex>() as wgpu::BufferAddress,
            step_mode: wgpu::VertexStepMode::Vertex,
            attributes: &Self::ATTRIBS
        }
    }
}