summaryrefslogtreecommitdiff
path: root/engine/src/mesh.rs
diff options
context:
space:
mode:
Diffstat (limited to 'engine/src/mesh.rs')
-rw-r--r--engine/src/mesh.rs25
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>
{