From 8b30cadfc19647487986d14dba9ddba7908dd1d0 Mon Sep 17 00:00:00 2001 From: skal Date: Thu, 12 Feb 2026 15:10:17 +0100 Subject: test_demo: Add beat-synchronized CNN post-processing with version selection - Add --cnn-version <1|2> flag to select between CNN v1 and v2 - Implement beat_phase modulation for dynamic blend in both CNN effects - Fix CNN v2 per-layer uniform buffer sharing (each layer needs own buffer) - Fix CNN v2 y-axis orientation to match render pass convention - Add Scene1Effect as base visual layer to test_demo timeline - Reorganize CNN v2 shaders into cnn_v2/ subdirectory - Update asset paths and documentation for new shader organization Co-Authored-By: Claude Sonnet 4.5 --- doc/CNN_V2.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'doc') diff --git a/doc/CNN_V2.md b/doc/CNN_V2.md index 9407934..09d0841 100644 --- a/doc/CNN_V2.md +++ b/doc/CNN_V2.md @@ -299,7 +299,7 @@ torch.save({ 2. Extract layer configs (kernels, channels) 3. Quantize weights to float16: `weights_f16 = weights_f32.astype(np.float16)` 4. Generate WGSL shader per layer -5. Write to `workspaces//shaders/cnn_v2_*.wgsl` +5. Write to `workspaces//shaders/cnn_v2/cnn_v2_*.wgsl` **Example Generated Shader:** @@ -402,7 +402,7 @@ fn main(@builtin(global_invocation_id) id: vec3) { ### Phase 1: Shaders (Core Infrastructure) -- [ ] `workspaces/main/shaders/cnn_v2_static.wgsl` - Static features compute +- [ ] `workspaces/main/shaders/cnn_v2/cnn_v2_static.wgsl` - Static features compute - [ ] RGBD sampling from framebuffer - [ ] UV coordinate calculation - [ ] sin(10\*uv.x) computation @@ -410,7 +410,7 @@ fn main(@builtin(global_invocation_id) id: vec3) { - [ ] Float16 packing via `pack2x16float()` - [ ] Output to `texture_storage_2d` -- [ ] `workspaces/main/shaders/cnn_v2_layer_template.wgsl` - Layer template +- [ ] `workspaces/main/shaders/cnn_v2/cnn_v2_layer_template.wgsl` - Layer template - [ ] Static features unpacking - [ ] Previous layer unpacking (8×f16) - [ ] Convolution implementation (1×1, 3×3, 5×5) @@ -492,10 +492,10 @@ fn main(@builtin(global_invocation_id) id: vec3) { ``` # Shaders (generated by export script) -workspaces/main/shaders/cnn_v2_static.wgsl # Static features compute -workspaces/main/shaders/cnn_v2_layer_0.wgsl # Input layer (generated) -workspaces/main/shaders/cnn_v2_layer_1.wgsl # Inner layer (generated) -workspaces/main/shaders/cnn_v2_layer_2.wgsl # Output layer (generated) +workspaces/main/shaders/cnn_v2/cnn_v2_static.wgsl # Static features compute +workspaces/main/shaders/cnn_v2/cnn_v2_layer_0.wgsl # Input layer (generated) +workspaces/main/shaders/cnn_v2/cnn_v2_layer_1.wgsl # Inner layer (generated) +workspaces/main/shaders/cnn_v2/cnn_v2_layer_2.wgsl # Output layer (generated) # C++ implementation src/gpu/effects/cnn_v2_effect.h # Effect class header @@ -531,7 +531,7 @@ TODO.md # Add CNN v2 task ``` training/train_cnn.py # Original training src/gpu/effects/cnn_effect.* # Original effect -workspaces/main/shaders/cnn_*.wgsl # Original shaders +workspaces/main/shaders/cnn_*.wgsl # Original v1 shaders ``` --- -- cgit v1.2.3