From f04983e6ad3b985e11f8b14f1f891e9c48941e79 Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Tue, 5 Nov 2024 18:02:31 +0100 Subject: [PATCH] Use `f64` on the geometry side --- experiments/2024-10-30/src/geometry.rs | 2 +- experiments/2024-10-30/src/render.rs | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/experiments/2024-10-30/src/geometry.rs b/experiments/2024-10-30/src/geometry.rs index a9d8467ef..dbcfcb3ff 100644 --- a/experiments/2024-10-30/src/geometry.rs +++ b/experiments/2024-10-30/src/geometry.rs @@ -24,7 +24,7 @@ impl Mesh { #[derive(Clone, Copy)] pub struct Vertex { - pub point: [f32; 3], + pub point: [f64; 3], } pub type Index = u32; diff --git a/experiments/2024-10-30/src/render.rs b/experiments/2024-10-30/src/render.rs index dc74a0916..5602e5e61 100644 --- a/experiments/2024-10-30/src/render.rs +++ b/experiments/2024-10-30/src/render.rs @@ -192,8 +192,13 @@ impl Renderer { let mut vertices = Vec::new(); for triangle in mesh.triangles() { - let triangle = triangle - .map(|index| Vec3::from(mesh.vertices()[index as usize].point)); + let triangle = triangle.map(|index| { + Vec3::from( + mesh.vertices()[index as usize] + .point + .map(|coord| coord as f32), + ) + }); let normal = { let [a, b, c] = triangle;