From 0371c8f086008d604dddfe92d021f8ecfe398436 Mon Sep 17 00:00:00 2001 From: Irene Knapp Date: Sat, 18 Jul 2026 03:48:13 -0700 Subject: pull the shader data stuff into its own file separate from the linear algebra stuff Force-Push: yes Change-Id: I26fc7ac596f304fa35ca7a4d0e1349d4fa0685ee --- src/linear_algebra.rs | 80 +-------------------------------------------------- 1 file changed, 1 insertion(+), 79 deletions(-) (limited to 'src/linear_algebra.rs') diff --git a/src/linear_algebra.rs b/src/linear_algebra.rs index 08e9306..acd949a 100644 --- a/src/linear_algebra.rs +++ b/src/linear_algebra.rs @@ -1,7 +1,6 @@ #![forbid(unsafe_code)] -use std::mem::{ size_of, MaybeUninit }; +use std::mem:: MaybeUninit; use std::ops::{ Add, Sub, Mul, Div, Neg }; -use vulkanalia::vk::{ self, HasBuilder }; pub trait Real: Add + Sub @@ -29,20 +28,6 @@ impl Real for f32 { } -pub static VERTICES: [Vertex; 4] = [ - Vertex::new(Vec2::new(-0.5, -0.5), Vec3::new(1.0, 0.0, 0.0), - Vec2::new(1.0, 0.0)), - Vertex::new(Vec2::new( 0.5, -0.5), Vec3::new(0.0, 1.0, 0.0), - Vec2::new(0.0, 0.0)), - Vertex::new(Vec2::new( 0.5, 0.5), Vec3::new(0.0, 0.0, 1.0), - Vec2::new(0.0, 1.0)), - Vertex::new(Vec2::new(-0.5, 0.5), Vec3::new(1.0, 1.0, 1.0), - Vec2::new(1.0, 1.0)), -]; - -pub const INDICES: &[u16] = &[0, 1, 2, 2, 3, 0]; - - #[repr(C)] #[derive(Clone, Debug)] pub struct Vec2([T; 2]); @@ -618,66 +603,3 @@ impl Transformation { } } - - -#[repr(C)] -#[derive(Clone, Debug)] -pub struct Vertex { - pub position: Vec2, - pub color: Vec3, - pub texture_coordinates: Vec2, -} - -#[repr(C)] -#[derive(Clone, Debug)] -pub struct UniformBlock { - pub scale: Vec3, - pub model: Transformation, - pub view: Transformation, - pub projection: Mat4, -} - -impl Vertex { - const fn new(position: Vec2, color: Vec3, - texture_coordinates: Vec2) - -> Self - { - Self { position, color, texture_coordinates } - } - - pub fn binding_description() -> vk::VertexInputBindingDescription { - vk::VertexInputBindingDescription::builder() - .binding(0) - .stride(size_of::>() as u32) - .input_rate(vk::VertexInputRate::VERTEX) - .build() - } - - pub fn attribute_descriptions() - -> [vk::VertexInputAttributeDescription; 3] - { - let position = vk::VertexInputAttributeDescription::builder() - .binding(0) - .location(0) - .format(vk::Format::R32G32_SFLOAT) - .offset(0) - .build(); - - let color = vk::VertexInputAttributeDescription::builder() - .binding(0) - .location(1) - .format(vk::Format::R32G32B32_SFLOAT) - .offset(size_of::>() as u32) - .build(); - - let texture_coordinates = vk::VertexInputAttributeDescription::builder() - .binding(0) - .location(2) - .format(vk::Format::R32G32_SFLOAT) - .offset((size_of::>() + size_of::>()) as u32) - .build(); - - [position, color, texture_coordinates] - } -} - -- cgit 1.4.1