From 40c04c875fb1e305d44f5d4823caa67e4621fa23 Mon Sep 17 00:00:00 2001 From: STP Date: Sat, 11 Nov 2023 00:28:55 -0500 Subject: [PATCH] Added --- src/ray.rs | 15 +++++++++++++++ src/shader.wsgl | 11 +++++++++++ 2 files changed, 26 insertions(+) create mode 100644 src/ray.rs create mode 100644 src/shader.wsgl diff --git a/src/ray.rs b/src/ray.rs new file mode 100644 index 0000000..2b4eecf --- /dev/null +++ b/src/ray.rs @@ -0,0 +1,15 @@ +use nalgebra::Vector4; + +#[derive(Copy, Clone)] +pub struct Ray { + a: Vector4, + b: Vector4, +} +impl Ray { + fn new(_a: Vector4, _b: Vector4) -> Ray { + Ray { a: _a, b: _b } + } + fn point_at_paremeter(&self, t: f32) -> Vector4 { + self.a + t * self.b + } +} diff --git a/src/shader.wsgl b/src/shader.wsgl new file mode 100644 index 0000000..f84ccfe --- /dev/null +++ b/src/shader.wsgl @@ -0,0 +1,11 @@ +@vertex +fn vs_main(@builtin(vertex_index) in_vertex_index: u32) -> @builtin(position) vec4 { + let x = f32(i32(in_vertex_index) - 1); + let y = f32(i32(in_vertex_index & 1u) * 2 - 1); + return vec4(x, y, 0.0, 1.0); +} + +@fragment +fn fs_main() -> @location(0) vec4 { + return vec4(1.0, 0.0, 0.0, 1.0); +}