summaryrefslogtreecommitdiff
path: root/rust/crates/gpu/src/shaders/gaussian_blur.wgsl
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2026-04-07 01:09:13 +0200
committerMaze Winther <mazewinther@gmail.com>2026-04-07 01:09:13 +0200
commite4b67094e757917588fb624a30aa046667403add (patch)
tree55452692eac69a5a63b58f2a5cdb701dd7023d68 /rust/crates/gpu/src/shaders/gaussian_blur.wgsl
parent79df73643185c02493364a077402726d1fa7b9ec (diff)
downloadopencut-e4b67094e757917588fb624a30aa046667403add.tar.gz
refactor: split effects and masks into dedicated rust crates, introduce MediaTime and FrameRate
Diffstat (limited to 'rust/crates/gpu/src/shaders/gaussian_blur.wgsl')
-rw-r--r--rust/crates/gpu/src/shaders/gaussian_blur.wgsl34
1 files changed, 0 insertions, 34 deletions
diff --git a/rust/crates/gpu/src/shaders/gaussian_blur.wgsl b/rust/crates/gpu/src/shaders/gaussian_blur.wgsl
deleted file mode 100644
index 6c8d311d..00000000
--- a/rust/crates/gpu/src/shaders/gaussian_blur.wgsl
+++ /dev/null
@@ -1,34 +0,0 @@
-struct VertexOutput {
- @builtin(position) position: vec4f,
- @location(0) tex_coord: vec2f,
-}
-
-struct EffectUniforms {
- resolution: vec2f,
- direction: vec2f,
- scalars: vec4f,
-}
-
-@group(0) @binding(0) var input_texture: texture_2d<f32>;
-@group(0) @binding(1) var input_sampler: sampler;
-@group(1) @binding(0) var<uniform> uniforms: EffectUniforms;
-
-@fragment
-fn fragment_main(input: VertexOutput) -> @location(0) vec4f {
- let texel_size = vec2f(1.0, 1.0) / uniforms.resolution;
- let sigma = uniforms.scalars.x;
- let step_size = uniforms.scalars.y;
-
- var color = vec4f(0.0, 0.0, 0.0, 0.0);
- var total_weight = 0.0;
-
- for (var index = -30; index <= 30; index = index + 1) {
- let position = f32(index) * step_size;
- let weight = exp(-(position * position) / (2.0 * sigma * sigma));
- let sample_uv = input.tex_coord + (texel_size * uniforms.direction * position);
- color = color + textureSample(input_texture, input_sampler, sample_uv) * weight;
- total_weight = total_weight + weight;
- }
-
- return color / total_weight;
-}