summaryrefslogtreecommitdiff
path: root/workspaces/main/shaders/particle_render.wgsl
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-21 10:24:24 +0100
committerskal <pascal.massimino@gmail.com>2026-02-21 10:24:24 +0100
commit7d6c9bc2f10a479d9e054af56a75e535d1015b79 (patch)
treea364cc4d16052162c48e15e9e05e491e9ba1e758 /workspaces/main/shaders/particle_render.wgsl
parent53187e2d930cf982a0bc7f99262586c6a8a0640a (diff)
docs: Update WGSL files to use shorter vector and matrix type aliases
Replaced `vec2<f32>`, `vec3<f32>`, `vec4<f32>`, `mat4x4<f32>`, and `mat3x3<f32>` with their shorter aliases `vec2f`, `vec3f`, `vec4f`, `mat4x4f`, and `mat3x3f` across all WGSL shader files in `workspaces/main/shaders/`. This improves readability and aligns with modern WGSL conventions.
Diffstat (limited to 'workspaces/main/shaders/particle_render.wgsl')
-rw-r--r--workspaces/main/shaders/particle_render.wgsl40
1 files changed, 20 insertions, 20 deletions
diff --git a/workspaces/main/shaders/particle_render.wgsl b/workspaces/main/shaders/particle_render.wgsl
index dd83220..ef0db42 100644
--- a/workspaces/main/shaders/particle_render.wgsl
+++ b/workspaces/main/shaders/particle_render.wgsl
@@ -1,9 +1,9 @@
// Particle rendering (vertex + fragment) - V2
struct Particle {
- pos: vec4<f32>,
- vel: vec4<f32>,
- rot: vec4<f32>,
- color: vec4<f32>,
+ pos: vec4f,
+ vel: vec4f,
+ rot: vec4f,
+ color: vec4f,
};
#include "sequence_uniforms"
@@ -12,36 +12,36 @@ struct Particle {
@group(0) @binding(1) var<uniform> uniforms: UniformsSequenceParams;
struct VSOut {
- @builtin(position) pos: vec4<f32>,
- @location(0) color: vec4<f32>,
- @location(1) uv: vec2<f32>,
+ @builtin(position) pos: vec4f,
+ @location(0) color: vec4f,
+ @location(1) uv: vec2f,
};
@vertex fn vs_main(@builtin(vertex_index) vi: u32, @builtin(instance_index) ii: u32) -> VSOut {
let p = particles[ii];
let size = 0.02 + p.pos.z * 0.01 + uniforms.audio_intensity * 0.02;
- var offsets = array<vec2<f32>, 6>(
- vec2<f32>(-1, -1),
- vec2<f32>(1, -1),
- vec2<f32>(-1, 1),
- vec2<f32>(-1, 1),
- vec2<f32>(1, -1),
- vec2<f32>(1, 1)
+ var offsets = array<vec2f, 6>(
+ vec2f(-1, -1),
+ vec2f(1, -1),
+ vec2f(-1, 1),
+ vec2f(-1, 1),
+ vec2f(1, -1),
+ vec2f(1, 1)
);
let offset = offsets[vi];
let c = cos(p.rot.x);
let s = sin(p.rot.x);
- let rotated_offset = vec2<f32>(offset.x * c - offset.y * s, offset.x * s + offset.y * c);
- let pos = vec2<f32>(p.pos.x + rotated_offset.x * size / uniforms.aspect_ratio, p.pos.y + rotated_offset.y * size);
+ let rotated_offset = vec2f(offset.x * c - offset.y * s, offset.x * s + offset.y * c);
+ let pos = vec2f(p.pos.x + rotated_offset.x * size / uniforms.aspect_ratio, p.pos.y + rotated_offset.y * size);
// Fade based on lifetime (p.pos.w goes from 1.0 to 0.0)
let lifetime_fade = p.pos.w;
- let color_with_fade = vec4<f32>(p.color.rgb * (0.5 + 0.5 * uniforms.audio_intensity), p.color.a * lifetime_fade);
+ let color_with_fade = vec4f(p.color.rgb * (0.5 + 0.5 * uniforms.audio_intensity), p.color.a * lifetime_fade);
- return VSOut(vec4<f32>(pos, 0.0, 1.0), color_with_fade, offset);
+ return VSOut(vec4f(pos, 0.0, 1.0), color_with_fade, offset);
}
-@fragment fn fs_main(@location(0) color: vec4<f32>, @location(1) uv: vec2<f32>) -> @location(0) vec4<f32> {
+@fragment fn fs_main(@location(0) color: vec4f, @location(1) uv: vec2f) -> @location(0) vec4f {
// Calculate distance from center for circular shape
let dist = length(uv);
@@ -49,5 +49,5 @@ struct VSOut {
let circle_alpha = smoothstep(1.0, 0.5, dist);
// Apply circular fade to alpha channel
- return vec4<f32>(color.rgb, color.a * circle_alpha);
+ return vec4f(color.rgb, color.a * circle_alpha);
}