diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-13 08:21:34 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-13 08:21:34 +0100 |
| commit | eb15703a3f87e4eadc8839b06de12b9c6ec54023 (patch) | |
| tree | 06dcbb3e40df2f08b433927c96335e104b4d0aa7 /assets/final/shaders/compute/gen_perlin.wgsl | |
| parent | 10673f00dfece584ba81d581b69c9ba706a5ea5a (diff) | |
Refactor: Reorganize workspaces and remove assets/ directory
Workspace structure now:
- workspaces/{main,test}/obj/ (3D models)
- workspaces/{main,test}/shaders/ (WGSL shaders)
- workspaces/{main,test}/music/ (audio samples)
Changes:
- Moved workspaces/*/assets/music/ → workspaces/*/music/
- Updated assets.txt paths (assets/music/ → music/)
- Moved test_demo.{seq,track} to tools/
- Moved assets/originals/ → tools/originals/
- Removed assets/common/ (legacy, duplicated in workspaces)
- Removed assets/final/ (legacy, superseded by workspaces)
- Updated hot-reload paths in main.cc
- Updated CMake references for test_demo and validation
- Updated gen_spectrograms.sh paths
handoff(Claude): Workspace reorganization complete
Diffstat (limited to 'assets/final/shaders/compute/gen_perlin.wgsl')
| -rw-r--r-- | assets/final/shaders/compute/gen_perlin.wgsl | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/assets/final/shaders/compute/gen_perlin.wgsl b/assets/final/shaders/compute/gen_perlin.wgsl deleted file mode 100644 index 73816d6..0000000 --- a/assets/final/shaders/compute/gen_perlin.wgsl +++ /dev/null @@ -1,44 +0,0 @@ -// GPU procedural Perlin noise texture generator. -// Fractional Brownian Motion using value noise. - -#include "math/noise" - -struct PerlinParams { - width: u32, - height: u32, - seed: f32, - frequency: f32, - amplitude: f32, - amplitude_decay: f32, - octaves: u32, - _pad0: f32, // Padding for alignment -} - -@group(0) @binding(0) var output_tex: texture_storage_2d<rgba8unorm, write>; -@group(0) @binding(1) var<uniform> params: PerlinParams; - -@compute @workgroup_size(8, 8, 1) -fn main(@builtin(global_invocation_id) id: vec3<u32>) { - if (id.x >= params.width || id.y >= params.height) { return; } - - let uv = vec2<f32>(f32(id.x) / f32(params.width), - f32(id.y) / f32(params.height)); - - var value = 0.0; - var amplitude = params.amplitude; - var frequency = params.frequency; - var total_amp = 0.0; - - for (var o: u32 = 0u; o < params.octaves; o++) { - let p = uv * frequency + params.seed; - value += noise_2d(p) * amplitude; - total_amp += amplitude; - frequency *= 2.0; - amplitude *= params.amplitude_decay; - } - - value /= total_amp; - let clamped = clamp(value, 0.0, 1.0); - - textureStore(output_tex, id.xy, vec4<f32>(clamped, clamped, clamped, 1.0)); -} |
