summaryrefslogtreecommitdiff
path: root/src/gpu/effects/vignette_effect.cc
AgeCommit message (Collapse)Author
28 hoursRefactor Effect class to centralize common uniforms managementskal
Moved to Effect base class. Updated all subclasses to use the base member, removing redundant declarations and initializations. Cleaned up by removing redundant class definitions and including specific headers. Fixed a typo in DistortEffect constructor.
29 hourschore: Apply clang-format to C++ source filesskal
This commit applies clang-format to the project's C++ source files (.h and .cc) according to the project's contributing guidelines. This includes minor adjustments to whitespace, line endings, and header includes for consistency.
30 hoursfix: Resolve WebGPU uniform buffer alignment issues (Task #74)skal
Fixed critical validation errors caused by WGSL vec3<f32> alignment mismatches. Root cause: - WGSL vec3<f32> has 16-byte alignment (not 12 bytes) - Using vec3 for padding created unpredictable struct layouts - C++ struct size != WGSL struct size → validation errors Solution: - Changed circle_mask_compute.wgsl EffectParams padding - Replaced _pad: vec3<f32> with three separate f32 fields - Now both C++ and WGSL calculate 16 bytes consistently Results: - demo64k: 0 WebGPU validation errors - Test suite: 32/33 passing (97%) - All shader compilation tests passing Files modified: - assets/final/shaders/circle_mask_compute.wgsl - TODO.md (updated task status) - PROJECT_CONTEXT.md (updated test results) - HANDOFF_2026-02-09_UniformAlignment.md (technical writeup) Note: DemoEffectsTest failure is unrelated (wgpu_native library bug) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
44 hoursfeat(gpu): Add VignetteEffectskal
- Implemented VignetteEffect, including its shader, parameters, and sequence integration. - Added VignetteEffect to demo_effects.h, shaders.cc/h, and asset definitions. - Updated seq_compiler to handle VignetteEffect parameters. - Added VignetteEffect to test suite and updated expected counts. - Ensured all changes build and tests pass.