diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-08 19:38:05 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-08 19:38:05 +0100 |
| commit | 24094f91da919d99aaaaf47cbd08087c2aa87ca9 (patch) | |
| tree | 9e368453cc9a38c3f7800c1e169cb68160383151 /tools/seq_compiler.cc | |
| parent | 7003451944904464e08f2abd0bb3c89912949fd1 (diff) | |
feat(gpu): Add VignetteEffect and related files
- 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.
- Added vignette_effect.cc implementation file.
- Updated CMakeLists.txt to include the new effect file.
- Updated assets/demo.seq to include the VignetteEffect.
- Updated assets/final/demo_assets.txt with the new shader asset.
Diffstat (limited to 'tools/seq_compiler.cc')
| -rw-r--r-- | tools/seq_compiler.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/seq_compiler.cc b/tools/seq_compiler.cc index 218ef93..0a17005 100644 --- a/tools/seq_compiler.cc +++ b/tools/seq_compiler.cc @@ -978,6 +978,24 @@ int main(int argc, char* argv[]) { << eff.class_name << ">(ctx, p), " << eff.start << "f, " << eff.end << "f, " << eff.priority << ");\n"; out_file << " }\n"; + } else if (!eff.params.empty() && + eff.class_name == "VignetteEffect") { + // Generate parameter struct initialization for VignetteEffect + out_file << " {\n"; + out_file << " VignetteParams p;\n"; + + for (const auto& [key, value] : eff.params) { + if (key == "radius") { + out_file << " p.radius = " << value << "f;\n"; + } else if (key == "softness") { + out_file << " p.softness = " << value << "f;\n"; + } + } + + out_file << " seq->add_effect(std::make_shared<" + << eff.class_name << ">(ctx, p), " << eff.start << "f, " + << eff.end << "f, " << eff.priority << ");\n"; + out_file << " }\n"; } else { // No parameters or unsupported effect - use default constructor out_file << " seq->add_effect(std::make_shared<" << eff.class_name |
