From e197abe0aae659742532ff2e2985afc97f041d2a Mon Sep 17 00:00:00 2001 From: Jim Eckerlein Date: Sun, 24 Sep 2023 15:19:07 +0200 Subject: Move vertex position function into own file --- wgpu/src/quad/gradient.rs | 4 ++++ wgpu/src/quad/solid.rs | 2 ++ wgpu/src/shader/quad.wgsl | 8 -------- wgpu/src/shader/vertex.wgsl | 7 +++++++ 4 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 wgpu/src/shader/vertex.wgsl (limited to 'wgpu') diff --git a/wgpu/src/quad/gradient.rs b/wgpu/src/quad/gradient.rs index ff30f78f..60b170cc 100644 --- a/wgpu/src/quad/gradient.rs +++ b/wgpu/src/quad/gradient.rs @@ -83,6 +83,8 @@ impl Pipeline { concat!( include_str!("../shader/quad.wgsl"), "\n", + include_str!("../shader/vertex.wgsl"), + "\n", include_str!("../shader/quad/gradient.wgsl"), "\n", include_str!("../shader/color/oklab.wgsl") @@ -91,6 +93,8 @@ impl Pipeline { concat!( include_str!("../shader/quad.wgsl"), "\n", + include_str!("../shader/vertex.wgsl"), + "\n", include_str!("../shader/quad/gradient.wgsl"), "\n", include_str!("../shader/color/linear_rgb.wgsl") diff --git a/wgpu/src/quad/solid.rs b/wgpu/src/quad/solid.rs index 96e73ba8..90e7f98e 100644 --- a/wgpu/src/quad/solid.rs +++ b/wgpu/src/quad/solid.rs @@ -75,6 +75,8 @@ impl Pipeline { concat!( include_str!("../shader/quad.wgsl"), "\n", + include_str!("../shader/vertex.wgsl"), + "\n", include_str!("../shader/quad/solid.wgsl"), ), )), diff --git a/wgpu/src/shader/quad.wgsl b/wgpu/src/shader/quad.wgsl index 555e81bb..f919cfe2 100644 --- a/wgpu/src/shader/quad.wgsl +++ b/wgpu/src/shader/quad.wgsl @@ -37,11 +37,3 @@ fn select_border_radius(radi: vec4, position: vec2, center: vec2) rx = select(rx, ry, position.y > center.y); return rx; } - -// Compute the normalized quad coordinates based on the vertex index. -fn vertex_position(vertex_index: u32) -> vec2 { - // #: 0 1 2 3 4 5 - // x: 1 1 0 0 0 1 - // y: 1 0 0 0 1 1 - return vec2((vec2(1u, 2u) + vertex_index) % 6u < 3u); -} diff --git a/wgpu/src/shader/vertex.wgsl b/wgpu/src/shader/vertex.wgsl new file mode 100644 index 00000000..904f8470 --- /dev/null +++ b/wgpu/src/shader/vertex.wgsl @@ -0,0 +1,7 @@ +// Compute the normalized quad coordinates based on the vertex index. +fn vertex_position(vertex_index: u32) -> vec2 { + // #: 0 1 2 3 4 5 + // x: 1 1 0 0 0 1 + // y: 1 0 0 0 1 1 + return vec2((vec2(1u, 2u) + vertex_index) % 6u < 3u); +} -- cgit