diff options
Diffstat (limited to 'engine/src/mesh.rs')
-rw-r--r-- | engine/src/mesh.rs | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/engine/src/mesh.rs b/engine/src/mesh.rs index 917e7f7..91d199e 100644 --- a/engine/src/mesh.rs +++ b/engine/src/mesh.rs @@ -1,7 +1,7 @@ use ecs::Component; -use crate::vector::Vec3; -use crate::vertex::Vertex; +use crate::util::builder; +use crate::vector::{Vec2, Vec3}; pub mod cube; @@ -77,6 +77,27 @@ impl Mesh } } +builder! { +#[builder(name = VertexBuilder, derives = (Debug, Default, Clone))] +#[derive(Debug, Clone, Default, PartialEq)] +#[non_exhaustive] +pub struct Vertex +{ + pub pos: Vec3<f32>, + pub texture_coords: Vec2<f32>, + pub normal: Vec3<f32>, +} +} + +impl Vertex +{ + #[must_use] + pub fn builder() -> VertexBuilder + { + VertexBuilder::default() + } +} + #[derive(Debug, Clone)] pub struct DirectionPositions<'mesh> { |