diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-16 17:04:41 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-16 17:04:41 +0100 |
| commit | c79ebff06ae74135c5f67ecc01d5bb55aeb5eda9 (patch) | |
| tree | 6521b1ed109668715a4a75a27e2f6a13218ae480 /src/gpu | |
| parent | 5eba3e77c58941ee02257f077a80558dd152a52e (diff) | |
fix: calculate beat_phase for FlashEffect and refactor uniforms
- seq_compiler.py: Calculate beat_phase from beat_time (was hardcoded 0.0f)
- Refactor: Replace CommonPostProcessUniforms with UniformsSequenceParams
- Remove duplicate struct definition in post_process_helper.h
- Update all CNN effects and tests to use unified uniform struct
- Fixes FlashEffect showing solid white instead of flashing to beat
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'src/gpu')
| -rw-r--r-- | src/gpu/post_process_helper.h | 14 | ||||
| -rw-r--r-- | src/gpu/sdf_effect.h | 2 |
2 files changed, 3 insertions, 13 deletions
diff --git a/src/gpu/post_process_helper.h b/src/gpu/post_process_helper.h index 33ef20b..963f671 100644 --- a/src/gpu/post_process_helper.h +++ b/src/gpu/post_process_helper.h @@ -4,20 +4,10 @@ #pragma once #include "gpu/gpu.h" +#include "gpu/sequence.h" #include "util/mini_math.h" -// Uniform data common to all post-processing effects -struct CommonPostProcessUniforms { - vec2 resolution; // Screen dimensions - float aspect_ratio; // Width/height ratio - float time; // Physical time in seconds (unaffected by tempo) - float beat_time; // Musical time in beats (absolute, tempo-scaled) - float beat_phase; // Fractional beat (0.0-1.0 within current beat) - float audio_intensity; // Audio peak for beat sync - float _pad; // Padding for 16-byte alignment -}; -static_assert(sizeof(CommonPostProcessUniforms) == 32, - "CommonPostProcessUniforms must be 32 bytes for WGSL alignment"); +// Use UniformsSequenceParams (defined in sequence.h) for post-process effects // Standard post-process bind group layout (group 0): #define PP_BINDING_SAMPLER 0 // Sampler for input texture diff --git a/src/gpu/sdf_effect.h b/src/gpu/sdf_effect.h index 4f23604..aacea69 100644 --- a/src/gpu/sdf_effect.h +++ b/src/gpu/sdf_effect.h @@ -12,7 +12,7 @@ // Provides CameraParams uniform buffer and helper methods // // Binding convention: -// @group(0) @binding(2): CommonPostProcessUniforms (from Effect base) +// @group(0) @binding(2): UniformsSequenceParams (from Effect base) // @group(0) @binding(3): CameraParams // @group(0) @binding(4+): Per-effect custom parameters class SDFEffect : public Effect { |
