summaryrefslogtreecommitdiff
path: root/engine/src/mesh.rs
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2025-05-10 13:10:46 +0200
committerHampusM <hampus@hampusmat.com>2025-05-10 13:42:34 +0200
commit6b2feeab0b845d05cdf76328d44b7b70a5e50c18 (patch)
treec214ad5e89a0a289d32094fb934caa6325b6cb4e /engine/src/mesh.rs
parentc1db67dbeaeeb447b8b4361ae6bb750785ed04bd (diff)
refactor(engine): make GL renderer have it's own Vertex struct
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>
{