diff --git a/experiments/2025-03-18/src/render/geometry.rs b/experiments/2025-03-18/src/render/geometry.rs index 144f302bd..d205580bb 100644 --- a/experiments/2025-03-18/src/render/geometry.rs +++ b/experiments/2025-03-18/src/render/geometry.rs @@ -1,7 +1,7 @@ use glam::Vec3; use wgpu::util::DeviceExt; -use crate::object::Object; +use crate::geometry::TriMesh; use super::vertex::Vertex; @@ -12,9 +12,7 @@ pub struct Geometry { } impl Geometry { - pub fn new(device: &wgpu::Device, operation: &dyn Object) -> Self { - let tri_mesh = operation.tri_mesh(); - + pub fn new(device: &wgpu::Device, tri_mesh: &TriMesh) -> Self { let mut indices = Vec::new(); let mut vertices = Vec::new(); diff --git a/experiments/2025-03-18/src/render/renderer.rs b/experiments/2025-03-18/src/render/renderer.rs index 60a14f257..aa0775d1d 100644 --- a/experiments/2025-03-18/src/render/renderer.rs +++ b/experiments/2025-03-18/src/render/renderer.rs @@ -3,7 +3,7 @@ use std::sync::Arc; use anyhow::anyhow; use winit::window::Window; -use crate::view::OperationView; +use crate::{object::Object, view::OperationView}; use super::{geometry::Geometry, pipeline::Pipeline}; @@ -79,7 +79,8 @@ impl Renderer { pub fn render(&mut self, operations: &OperationView) -> anyhow::Result<()> { let selected_operation = operations.selected(); - let geometry = Geometry::new(&self.device, selected_operation); + let geometry = + Geometry::new(&self.device, &selected_operation.tri_mesh()); let mut encoder = self .device