diff options
author | HampusM <hampus@hampusmat.com> | 2025-05-10 13:10:46 +0200 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2025-05-10 13:42:34 +0200 |
commit | 6b2feeab0b845d05cdf76328d44b7b70a5e50c18 (patch) | |
tree | c214ad5e89a0a289d32094fb934caa6325b6cb4e /engine/src/mesh.rs | |
parent | c1db67dbeaeeb447b8b4361ae6bb750785ed04bd (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.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> { |