diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-10 12:48:43 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-10 12:48:43 +0100 |
| commit | 6944733a6a2f05c18e7e0b73f847a4c9144801fd (patch) | |
| tree | 10713cd41a0e038a016a2e6b357471690f232834 /src/tests/gpu | |
| parent | cc9cbeb75353181193e3afb880dc890aa8bf8985 (diff) | |
feat: Add multi-layer CNN support with framebuffer capture and blend control
Implements automatic layer chaining and generic framebuffer capture API for
multi-layer neural network effects with proper original input preservation.
Key changes:
- Effect::needs_framebuffer_capture() - generic API for pre-render capture
- MainSequence: auto-capture to "captured_frame" auxiliary texture
- CNNEffect: multi-layer support via layer_index/total_layers params
- seq_compiler: expands "layers=N" to N chained effect instances
- Shader: @binding(4) original_input available to all layers
- Training: generates layer switches and original input binding
- Blend: mix(original, result, blend_amount) uses layer 0 input
Timeline syntax: CNNEffect layers=3 blend=0.7
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'src/tests/gpu')
| -rw-r--r-- | src/tests/gpu/test_demo_effects.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/tests/gpu/test_demo_effects.cc b/src/tests/gpu/test_demo_effects.cc index 9281413..619b9c9 100644 --- a/src/tests/gpu/test_demo_effects.cc +++ b/src/tests/gpu/test_demo_effects.cc @@ -89,7 +89,7 @@ static void test_post_process_effects() { {"ThemeModulationEffect", std::make_shared<ThemeModulationEffect>(fixture.ctx())}, {"VignetteEffect", std::make_shared<VignetteEffect>(fixture.ctx())}, - {"CNNEffect", std::make_shared<CNNEffect>(fixture.ctx(), 1)}, + {"CNNEffect", std::make_shared<CNNEffect>(fixture.ctx())}, }; int passed = 0; |
