diff options
| -rw-r--r-- | cmake/DemoSourceLists.cmake | 4 | ||||
| -rw-r--r-- | cmake/Validation.cmake | 18 | ||||
| -rw-r--r-- | doc/CNN_DEBUG.md | 4 | ||||
| -rw-r--r-- | doc/CNN_EFFECT.md | 4 | ||||
| -rw-r--r-- | doc/CNN_FLATTEN_ANALYSIS.md | 2 | ||||
| -rw-r--r-- | doc/CNN_V2.md | 12 | ||||
| -rw-r--r-- | doc/CNN_V2_BINARY_FORMAT.md | 2 | ||||
| -rw-r--r-- | doc/EFFECT_WORKFLOW.md | 22 | ||||
| -rw-r--r-- | doc/RECIPE.md | 6 | ||||
| -rw-r--r-- | doc/WORKSPACE_SYSTEM.md | 2 | ||||
| -rw-r--r-- | src/3d/renderer.cc | 2 | ||||
| -rw-r--r-- | src/3d/renderer_pipelines.cc | 2 | ||||
| -rw-r--r-- | src/app/test_demo.cc | 8 | ||||
| -rw-r--r-- | src/effects/chroma_aberration_effect.cc (renamed from src/gpu/effects/chroma_aberration_effect.cc) | 2 | ||||
| -rw-r--r-- | src/effects/circle_mask_effect.cc (renamed from src/gpu/effects/circle_mask_effect.cc) | 4 | ||||
| -rw-r--r-- | src/effects/circle_mask_effect.h (renamed from src/gpu/effects/circle_mask_effect.h) | 2 | ||||
| -rw-r--r-- | src/effects/cnn_effect.cc (renamed from src/gpu/effects/cnn_effect.cc) | 8 | ||||
| -rw-r--r-- | src/effects/cnn_effect.h (renamed from src/gpu/effects/cnn_effect.h) | 0 | ||||
| -rw-r--r-- | src/effects/cnn_v2_effect.cc (renamed from src/gpu/effects/cnn_v2_effect.cc) | 4 | ||||
| -rw-r--r-- | src/effects/cnn_v2_effect.h (renamed from src/gpu/effects/cnn_v2_effect.h) | 0 | ||||
| -rw-r--r-- | src/effects/distort_effect.cc (renamed from src/gpu/effects/distort_effect.cc) | 0 | ||||
| -rw-r--r-- | src/effects/fade_effect.cc (renamed from src/gpu/effects/fade_effect.cc) | 4 | ||||
| -rw-r--r-- | src/effects/fade_effect.h (renamed from src/gpu/effects/fade_effect.h) | 2 | ||||
| -rw-r--r-- | src/effects/flash_cube_effect.cc (renamed from src/gpu/effects/flash_cube_effect.cc) | 2 | ||||
| -rw-r--r-- | src/effects/flash_cube_effect.h (renamed from src/gpu/effects/flash_cube_effect.h) | 0 | ||||
| -rw-r--r-- | src/effects/flash_effect.cc (renamed from src/gpu/effects/flash_effect.cc) | 4 | ||||
| -rw-r--r-- | src/effects/flash_effect.h (renamed from src/gpu/effects/flash_effect.h) | 0 | ||||
| -rw-r--r-- | src/effects/gaussian_blur_effect.cc (renamed from src/gpu/effects/gaussian_blur_effect.cc) | 2 | ||||
| -rw-r--r-- | src/effects/heptagon_effect.cc (renamed from src/gpu/effects/heptagon_effect.cc) | 0 | ||||
| -rw-r--r-- | src/effects/hybrid_3d_effect.cc (renamed from src/gpu/effects/hybrid_3d_effect.cc) | 2 | ||||
| -rw-r--r-- | src/effects/hybrid_3d_effect.h (renamed from src/gpu/effects/hybrid_3d_effect.h) | 0 | ||||
| -rw-r--r-- | src/effects/moving_ellipse_effect.cc (renamed from src/gpu/effects/moving_ellipse_effect.cc) | 2 | ||||
| -rw-r--r-- | src/effects/particle_spray_effect.cc (renamed from src/gpu/effects/particle_spray_effect.cc) | 2 | ||||
| -rw-r--r-- | src/effects/particles_effect.cc (renamed from src/gpu/effects/particles_effect.cc) | 2 | ||||
| -rw-r--r-- | src/effects/passthrough_effect.cc (renamed from src/gpu/effects/passthrough_effect.cc) | 0 | ||||
| -rw-r--r-- | src/effects/rotating_cube_effect.cc (renamed from src/gpu/effects/rotating_cube_effect.cc) | 6 | ||||
| -rw-r--r-- | src/effects/rotating_cube_effect.h (renamed from src/gpu/effects/rotating_cube_effect.h) | 0 | ||||
| -rw-r--r-- | src/effects/scene1_effect.cc (renamed from src/gpu/effects/scene1_effect.cc) | 0 | ||||
| -rw-r--r-- | src/effects/scene1_effect.h (renamed from src/gpu/effects/scene1_effect.h) | 0 | ||||
| -rw-r--r-- | src/effects/solarize_effect.cc (renamed from src/gpu/effects/solarize_effect.cc) | 0 | ||||
| -rw-r--r-- | src/effects/theme_modulation_effect.cc (renamed from src/gpu/effects/theme_modulation_effect.cc) | 6 | ||||
| -rw-r--r-- | src/effects/theme_modulation_effect.h (renamed from src/gpu/effects/theme_modulation_effect.h) | 2 | ||||
| -rw-r--r-- | src/effects/vignette_effect.cc (renamed from src/gpu/effects/vignette_effect.cc) | 2 | ||||
| -rw-r--r-- | src/gpu/demo_effects.cc | 4 | ||||
| -rw-r--r-- | src/gpu/demo_effects.h | 28 | ||||
| -rw-r--r-- | src/gpu/effect.h | 2 | ||||
| -rw-r--r-- | src/gpu/gpu.cc | 9 | ||||
| -rw-r--r-- | src/gpu/pipeline_builder.h | 2 | ||||
| -rw-r--r-- | src/gpu/post_process_helper.cc (renamed from src/gpu/effects/post_process_helper.cc) | 4 | ||||
| -rw-r--r-- | src/gpu/post_process_helper.h (renamed from src/gpu/effects/post_process_helper.h) | 0 | ||||
| -rw-r--r-- | src/gpu/shader_composer.cc (renamed from src/gpu/effects/shader_composer.cc) | 2 | ||||
| -rw-r--r-- | src/gpu/shader_composer.h (renamed from src/gpu/effects/shader_composer.h) | 0 | ||||
| -rw-r--r-- | src/gpu/shaders.cc (renamed from src/gpu/effects/shaders.cc) | 4 | ||||
| -rw-r--r-- | src/gpu/shaders.h (renamed from src/gpu/effects/shaders.h) | 0 | ||||
| -rw-r--r-- | src/gpu/texture_manager.cc | 2 | ||||
| -rw-r--r-- | src/tests/3d/test_3d_physics.cc | 2 | ||||
| -rw-r--r-- | src/tests/3d/test_3d_render.cc | 2 | ||||
| -rw-r--r-- | src/tests/3d/test_mesh.cc | 2 | ||||
| -rw-r--r-- | src/tests/gpu/test_demo_effects.cc | 2 | ||||
| -rw-r--r-- | src/tests/gpu/test_noise_functions.cc | 4 | ||||
| -rw-r--r-- | src/tests/gpu/test_shader_compilation.cc | 4 | ||||
| -rw-r--r-- | src/tests/gpu/test_shader_composer.cc | 2 | ||||
| -rw-r--r-- | tools/cnn_test.cc | 8 | ||||
| -rw-r--r-- | tools/cnn_v2_test/README.md | 2 | ||||
| -rw-r--r-- | tools/shadertoy/README.md | 10 | ||||
| -rwxr-xr-x | tools/shadertoy/convert_shadertoy.py | 20 | ||||
| -rw-r--r-- | tools/shadertoy/template.cc | 4 | ||||
| -rw-r--r-- | tools/shadertoy/template.h | 2 |
68 files changed, 131 insertions, 136 deletions
diff --git a/cmake/DemoSourceLists.cmake b/cmake/DemoSourceLists.cmake index f1fbf4a..a54eb4b 100644 --- a/cmake/DemoSourceLists.cmake +++ b/cmake/DemoSourceLists.cmake @@ -29,11 +29,11 @@ set(UTIL_SOURCES src/util/asset_manager.cc src/util/file_watcher.cc) # GPU sources (conditional: HEADLESS / STRIP_EXTERNAL / NORMAL) demo_set_conditional_sources(GPU_SOURCES # Headless mode: Functional stubs (timeline/audio work) - "src/gpu/headless_gpu.cc;src/gpu/demo_effects.cc;src/gpu/effect.cc;src/gpu/effects/heptagon_effect.cc;src/gpu/effects/particles_effect.cc;src/gpu/effects/passthrough_effect.cc;src/gpu/effects/moving_ellipse_effect.cc;src/gpu/effects/particle_spray_effect.cc;src/gpu/effects/gaussian_blur_effect.cc;src/gpu/effects/solarize_effect.cc;src/gpu/effects/scene1_effect.cc;src/gpu/effects/chroma_aberration_effect.cc;src/gpu/effects/vignette_effect.cc;src/gpu/effects/cnn_effect.cc;src/gpu/effects/cnn_v2_effect.cc;src/gpu/effects/post_process_helper.cc;src/gpu/effects/shaders.cc;src/gpu/effects/hybrid_3d_effect.cc;src/gpu/effects/flash_cube_effect.cc;src/gpu/effects/theme_modulation_effect.cc;src/gpu/effects/fade_effect.cc;src/gpu/effects/flash_effect.cc;src/gpu/effects/shader_composer.cc;src/gpu/effects/circle_mask_effect.cc;src/gpu/effects/rotating_cube_effect.cc;src/gpu/texture_manager.cc;src/gpu/texture_readback.cc" + "src/gpu/headless_gpu.cc;src/gpu/demo_effects.cc;src/gpu/effect.cc;src/effects/heptagon_effect.cc;src/effects/particles_effect.cc;src/effects/passthrough_effect.cc;src/effects/moving_ellipse_effect.cc;src/effects/particle_spray_effect.cc;src/effects/gaussian_blur_effect.cc;src/effects/solarize_effect.cc;src/effects/scene1_effect.cc;src/effects/chroma_aberration_effect.cc;src/effects/vignette_effect.cc;src/effects/cnn_effect.cc;src/effects/cnn_v2_effect.cc;src/gpu/post_process_helper.cc;src/gpu/shaders.cc;src/effects/hybrid_3d_effect.cc;src/effects/flash_cube_effect.cc;src/effects/theme_modulation_effect.cc;src/effects/fade_effect.cc;src/effects/flash_effect.cc;src/gpu/shader_composer.cc;src/effects/circle_mask_effect.cc;src/effects/rotating_cube_effect.cc;src/gpu/texture_manager.cc;src/gpu/texture_readback.cc" # Strip mode: Minimal GPU stubs only "src/gpu/stub_gpu.cc" # Normal mode: Full GPU implementation - "src/gpu/gpu.cc;src/gpu/effect.cc;src/gpu/effects/heptagon_effect.cc;src/gpu/effects/particles_effect.cc;src/gpu/effects/passthrough_effect.cc;src/gpu/effects/moving_ellipse_effect.cc;src/gpu/effects/particle_spray_effect.cc;src/gpu/effects/gaussian_blur_effect.cc;src/gpu/effects/solarize_effect.cc;src/gpu/effects/scene1_effect.cc;src/gpu/effects/chroma_aberration_effect.cc;src/gpu/effects/vignette_effect.cc;src/gpu/effects/cnn_effect.cc;src/gpu/effects/cnn_v2_effect.cc;src/gpu/effects/post_process_helper.cc;src/gpu/effects/shaders.cc;src/gpu/effects/hybrid_3d_effect.cc;src/gpu/effects/flash_cube_effect.cc;src/gpu/effects/theme_modulation_effect.cc;src/gpu/effects/fade_effect.cc;src/gpu/effects/flash_effect.cc;src/gpu/effects/shader_composer.cc;src/gpu/effects/circle_mask_effect.cc;src/gpu/effects/rotating_cube_effect.cc;src/gpu/texture_manager.cc;src/gpu/texture_readback.cc" + "src/gpu/gpu.cc;src/gpu/effect.cc;src/effects/heptagon_effect.cc;src/effects/particles_effect.cc;src/effects/passthrough_effect.cc;src/effects/moving_ellipse_effect.cc;src/effects/particle_spray_effect.cc;src/effects/gaussian_blur_effect.cc;src/effects/solarize_effect.cc;src/effects/scene1_effect.cc;src/effects/chroma_aberration_effect.cc;src/effects/vignette_effect.cc;src/effects/cnn_effect.cc;src/effects/cnn_v2_effect.cc;src/gpu/post_process_helper.cc;src/gpu/shaders.cc;src/effects/hybrid_3d_effect.cc;src/effects/flash_cube_effect.cc;src/effects/theme_modulation_effect.cc;src/effects/fade_effect.cc;src/effects/flash_effect.cc;src/gpu/shader_composer.cc;src/effects/circle_mask_effect.cc;src/effects/rotating_cube_effect.cc;src/gpu/texture_manager.cc;src/gpu/texture_readback.cc" ) # 3D sources (conditional: HEADLESS / STRIP_EXTERNAL / NORMAL) diff --git a/cmake/Validation.cmake b/cmake/Validation.cmake index 1152d1a..328357e 100644 --- a/cmake/Validation.cmake +++ b/cmake/Validation.cmake @@ -12,16 +12,16 @@ file(GLOB WGSL_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE # List of C++ files containing uniform struct definitions and shader code # Add more C++ files here if new effects with structs are added. set(VALIDATION_CPP_FILES - ${CMAKE_CURRENT_SOURCE_DIR}/src/gpu/effects/heptagon_effect.cc - ${CMAKE_CURRENT_SOURCE_DIR}/src/gpu/effects/post_process_helper.h - ${CMAKE_CURRENT_SOURCE_DIR}/src/gpu/effects/fade_effect.cc - ${CMAKE_CURRENT_SOURCE_DIR}/src/gpu/effects/theme_modulation_effect.cc - ${CMAKE_CURRENT_SOURCE_DIR}/src/gpu/effects/chroma_aberration_effect.cc - ${CMAKE_CURRENT_SOURCE_DIR}/src/gpu/effects/vignette_effect.cc - ${CMAKE_CURRENT_SOURCE_DIR}/src/gpu/effects/gaussian_blur_effect.cc - ${CMAKE_CURRENT_SOURCE_DIR}/src/gpu/effects/distort_effect.cc + ${CMAKE_CURRENT_SOURCE_DIR}/src/effects/heptagon_effect.cc + ${CMAKE_CURRENT_SOURCE_DIR}/src/gpu/post_process_helper.h + ${CMAKE_CURRENT_SOURCE_DIR}/src/effects/fade_effect.cc + ${CMAKE_CURRENT_SOURCE_DIR}/src/effects/theme_modulation_effect.cc + ${CMAKE_CURRENT_SOURCE_DIR}/src/effects/chroma_aberration_effect.cc + ${CMAKE_CURRENT_SOURCE_DIR}/src/effects/vignette_effect.cc + ${CMAKE_CURRENT_SOURCE_DIR}/src/effects/gaussian_blur_effect.cc + ${CMAKE_CURRENT_SOURCE_DIR}/src/effects/distort_effect.cc ${CMAKE_CURRENT_SOURCE_DIR}/src/gpu/demo_effects.h - ${CMAKE_CURRENT_SOURCE_DIR}/src/gpu/effects/circle_mask_effect.h + ${CMAKE_CURRENT_SOURCE_DIR}/src/effects/circle_mask_effect.h ) # Add custom command to run the validator diff --git a/doc/CNN_DEBUG.md b/doc/CNN_DEBUG.md index dba0b60..ba220a0 100644 --- a/doc/CNN_DEBUG.md +++ b/doc/CNN_DEBUG.md @@ -11,7 +11,7 @@ CNN post-processing effect showed black screen when activated at 11.50s, despite **Fix**: Moved capture before loop starts (lines 308-346). Capture now copies `framebuffer_a` to `captured_frame` auxiliary texture ONCE before any post-effects run. ### Bug 2: Missing Uniforms Update ⚠️ CRITICAL -**Location**: `src/gpu/effects/cnn_effect.cc` +**Location**: `src/effects/cnn_effect.cc` **Issue**: `CNNEffect::update_bind_group()` never updated `uniforms_` buffer. `uniforms.resolution` uninitialized (0,0 or garbage) → UV calculation `p.xy / uniforms.resolution` produced NaN → all texture samples black. **Fix**: Added uniforms update before bind group creation (lines 132-142): ```cpp @@ -34,7 +34,7 @@ uniforms_.update(ctx_.queue, u); ## Files Modified - `src/gpu/effect.cc`: Lines 308-346 (capture timing) -- `src/gpu/effects/cnn_effect.cc`: Lines 132-142 (uniforms update) +- `src/effects/cnn_effect.cc`: Lines 132-142 (uniforms update) ## Verification Test: `demo64k --seek 11.5` diff --git a/doc/CNN_EFFECT.md b/doc/CNN_EFFECT.md index c14130a..40f095e 100644 --- a/doc/CNN_EFFECT.md +++ b/doc/CNN_EFFECT.md @@ -80,7 +80,7 @@ CNNEffect supports multi-layer networks via automatic effect chaining: ### File Structure ``` -src/gpu/effects/ +src/effects/ cnn_effect.h/cc # CNNEffect class + framebuffer capture workspaces/main/shaders/cnn/ @@ -156,7 +156,7 @@ cmake --build build -j4 && ./build/demo64k **Single layer (manual):** ```cpp -#include "gpu/effects/cnn_effect.h" +#include "effects/cnn_effect.h" CNNEffectParams p; p.layer_index = 0; diff --git a/doc/CNN_FLATTEN_ANALYSIS.md b/doc/CNN_FLATTEN_ANALYSIS.md index 88f3db6..bf63c5d 100644 --- a/doc/CNN_FLATTEN_ANALYSIS.md +++ b/doc/CNN_FLATTEN_ANALYSIS.md @@ -185,5 +185,5 @@ These yield better size/performance than shader architecture changes. - `doc/CNN_EFFECT.md` - CNN implementation details - `doc/CNN.md` - High-level CNN design -- `src/gpu/effects/cnn_effect.cc` - Current implementation +- `src/effects/cnn_effect.cc` - Current implementation - `workspaces/main/shaders/cnn_*.wgsl` - Shader snippets diff --git a/doc/CNN_V2.md b/doc/CNN_V2.md index 2d1d4c4..b7fd6f8 100644 --- a/doc/CNN_V2.md +++ b/doc/CNN_V2.md @@ -520,13 +520,13 @@ See `doc/CNN_V2_WEB_TOOL.md` for detailed documentation ### Phase 2: C++ Effect Class -- [ ] `src/gpu/effects/cnn_v2_effect.h` - Header +- [ ] `src/effects/cnn_v2_effect.h` - Header - [ ] Class declaration inheriting from `PostProcessEffect` - [ ] Static features texture member - [ ] Layer textures vector - [ ] Pipeline and bind group members -- [ ] `src/gpu/effects/cnn_v2_effect.cc` - Implementation +- [ ] `src/effects/cnn_v2_effect.cc` - Implementation - [ ] Constructor: Load shaders, create textures - [ ] `init()`: Create pipelines, bind groups - [ ] `render()`: Multi-pass execution @@ -598,8 +598,8 @@ 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 -src/gpu/effects/cnn_v2_effect.cc # Effect implementation +src/effects/cnn_v2_effect.h # Effect class header +src/effects/cnn_v2_effect.cc # Effect implementation # Python training/export training/train_cnn_v2.py # Training script @@ -630,7 +630,7 @@ TODO.md # Add CNN v2 task ``` training/train_cnn.py # Original training -src/gpu/effects/cnn_effect.* # Original effect +src/effects/cnn_effect.* # Original effect workspaces/main/shaders/cnn_*.wgsl # Original v1 shaders ``` @@ -750,7 +750,7 @@ See `doc/CNN_V2_BINARY_FORMAT.md` for proposed descriptor format. ## References -- **v1 Implementation:** `src/gpu/effects/cnn_effect.*` +- **v1 Implementation:** `src/effects/cnn_effect.*` - **Training Guide:** `doc/HOWTO.md` (CNN Training section) - **Test Tool:** `doc/CNN_TEST_TOOL.md` - **Shader System:** `doc/SEQUENCE.md` diff --git a/doc/CNN_V2_BINARY_FORMAT.md b/doc/CNN_V2_BINARY_FORMAT.md index f718960..59c859d 100644 --- a/doc/CNN_V2_BINARY_FORMAT.md +++ b/doc/CNN_V2_BINARY_FORMAT.md @@ -230,6 +230,6 @@ Benefits: ## Related Files - `training/export_cnn_v2_weights.py` - Binary export tool -- `src/gpu/effects/cnn_v2_effect.cc` - C++ loader +- `src/effects/cnn_v2_effect.cc` - C++ loader - `tools/cnn_v2_test/index.html` - WebGPU validator - `doc/CNN_V2.md` - Architecture design diff --git a/doc/EFFECT_WORKFLOW.md b/doc/EFFECT_WORKFLOW.md index e453b63..22b8dc9 100644 --- a/doc/EFFECT_WORKFLOW.md +++ b/doc/EFFECT_WORKFLOW.md @@ -19,8 +19,8 @@ Automated checklist for adding new visual effects to the demo. ### 1. Create Effect Files **Location:** -- Header: `src/gpu/effects/<effect_name>_effect.h` -- Implementation: `src/gpu/effects/<effect_name>_effect.cc` +- Header: `src/effects/<effect_name>_effect.h` +- Implementation: `src/effects/<effect_name>_effect.cc` - Shader: `workspaces/main/shaders/<effect_name>.wgsl` **Naming Convention:** @@ -69,7 +69,7 @@ SHADER_TUNNEL, NONE, shaders/tunnel.wgsl, "Tunnel effect shader" **File:** `CMakeLists.txt` -**Action:** Add `src/gpu/effects/<effect_name>_effect.cc` to **BOTH** GPU_SOURCES sections: +**Action:** Add `src/effects/<effect_name>_effect.cc` to **BOTH** GPU_SOURCES sections: - Headless mode section (around line 141-167) - Normal mode section (around line 171-197) @@ -78,14 +78,14 @@ SHADER_TUNNEL, NONE, shaders/tunnel.wgsl, "Tunnel effect shader" **Example:** ```cmake # In headless section (line ~152): - src/gpu/effects/solarize_effect.cc - src/gpu/effects/tunnel_effect.cc # <-- Add here - src/gpu/effects/chroma_aberration_effect.cc + src/effects/solarize_effect.cc + src/effects/tunnel_effect.cc # <-- Add here + src/effects/chroma_aberration_effect.cc # In normal section (line ~183): - src/gpu/effects/solarize_effect.cc - src/gpu/effects/tunnel_effect.cc # <-- Add here - src/gpu/effects/chroma_aberration_effect.cc + src/effects/solarize_effect.cc + src/effects/tunnel_effect.cc # <-- Add here + src/effects/chroma_aberration_effect.cc ``` ### 4. Include in demo_effects.h @@ -94,7 +94,7 @@ SHADER_TUNNEL, NONE, shaders/tunnel.wgsl, "Tunnel effect shader" **Action:** Add include directive: ```cpp -#include "gpu/effects/<effect_name>_effect.h" +#include "effects/<effect_name>_effect.h" ``` **Location:** Alphabetically with other effect includes @@ -241,4 +241,4 @@ cmake --build build -j4 - `tools/shadertoy/README.md` - ShaderToy conversion guide - `doc/SEQUENCE.md` - Timeline format documentation - `doc/CONTRIBUTING.md` - General contribution guidelines -- `src/gpu/effects/` - Existing effect examples +- `src/effects/` - Existing effect examples diff --git a/doc/RECIPE.md b/doc/RECIPE.md index d563027..f17afde 100644 --- a/doc/RECIPE.md +++ b/doc/RECIPE.md @@ -8,7 +8,7 @@ Use `ShaderComposer` to dynamically assemble shaders from snippets. **Pattern:** ```cpp -#include "gpu/effects/shader_composer.h" +#include "gpu/shader_composer.h" #include "generated/assets.h" // 1. Load base shader template from asset @@ -70,7 +70,7 @@ fn compute_color(uv: vec2<f32>) -> vec4<f32> { )"); ``` -**Example usage:** `src/gpu/effects/rotating_cube_effect.cc:72-75` +**Example usage:** `src/effects/rotating_cube_effect.cc:72-75` ## QuadEffect with Auxiliary Textures @@ -161,7 +161,7 @@ EFFECT + MyEffect 0.0 10.0 strength=0.5 speed=3.0 EFFECT = MyEffect 10.0 20.0 strength=2.0 # speed keeps previous value ``` -**Example:** `src/gpu/effects/flash_effect.cc`, `src/gpu/effects/chroma_aberration_effect.cc` +**Example:** `src/effects/flash_effect.cc`, `src/effects/chroma_aberration_effect.cc` ## Uniform Buffer Alignment diff --git a/doc/WORKSPACE_SYSTEM.md b/doc/WORKSPACE_SYSTEM.md index 9362da6..64ba120 100644 --- a/doc/WORKSPACE_SYSTEM.md +++ b/doc/WORKSPACE_SYSTEM.md @@ -557,7 +557,7 @@ endif() **Modified files:** - `CMakeLists.txt` - Workspace support - `tools/asset_packer.cc` - Multi-path resolution -- `src/gpu/effects/shader_composer.cc` - Multi-path includes +- `src/gpu/shader_composer.cc` - Multi-path includes - `README.md` - Workspace documentation - `doc/HOWTO.md` - Build commands - `doc/CONTRIBUTING.md` - Workspace guidelines diff --git a/src/3d/renderer.cc b/src/3d/renderer.cc index d846895..7f2f800 100644 --- a/src/3d/renderer.cc +++ b/src/3d/renderer.cc @@ -3,7 +3,7 @@ #include "3d/renderer.h" #include "generated/assets.h" -#include "gpu/effects/shader_composer.h" +#include "gpu/shader_composer.h" #include "util/asset_manager.h" #include <algorithm> #include <cassert> diff --git a/src/3d/renderer_pipelines.cc b/src/3d/renderer_pipelines.cc index 54499af..fed3983 100644 --- a/src/3d/renderer_pipelines.cc +++ b/src/3d/renderer_pipelines.cc @@ -3,7 +3,7 @@ #include "3d/renderer.h" #include "generated/assets.h" -#include "gpu/effects/shader_composer.h" +#include "gpu/shader_composer.h" #include "util/asset_manager.h" #include "util/asset_manager_utils.h" #include <vector> diff --git a/src/app/test_demo.cc b/src/app/test_demo.cc index 7f10c3b..2a91d37 100644 --- a/src/app/test_demo.cc +++ b/src/app/test_demo.cc @@ -20,10 +20,10 @@ extern float GetDemoDuration(); extern void LoadTimeline(MainSequence& main_seq, const GpuContext& ctx); // Inline peak meter effect for debugging audio-visual sync -#include "gpu/effects/post_process_helper.h" -#include "gpu/effects/shader_composer.h" -#include "gpu/effects/cnn_effect.h" -#include "gpu/effects/cnn_v2_effect.h" +#include "gpu/post_process_helper.h" +#include "gpu/shader_composer.h" +#include "effects/cnn_effect.h" +#include "effects/cnn_v2_effect.h" class PeakMeterEffect : public PostProcessEffect { public: diff --git a/src/gpu/effects/chroma_aberration_effect.cc b/src/effects/chroma_aberration_effect.cc index 3a51965..a096f5b 100644 --- a/src/gpu/effects/chroma_aberration_effect.cc +++ b/src/effects/chroma_aberration_effect.cc @@ -2,7 +2,7 @@ // It implements the ChromaAberrationEffect with parameterization. #include "gpu/demo_effects.h" -#include "gpu/effects/post_process_helper.h" +#include "gpu/post_process_helper.h" #include "gpu/gpu.h" // --- ChromaAberrationEffect --- diff --git a/src/gpu/effects/circle_mask_effect.cc b/src/effects/circle_mask_effect.cc index dfe7d03..63c8f68 100644 --- a/src/gpu/effects/circle_mask_effect.cc +++ b/src/effects/circle_mask_effect.cc @@ -2,10 +2,10 @@ // It implements CircleMaskEffect for auxiliary texture masking demonstration. // Generates circular mask and renders green background outside circle. -#include "gpu/effects/circle_mask_effect.h" +#include "effects/circle_mask_effect.h" #include "generated/assets.h" #include "gpu/bind_group_builder.h" -#include "gpu/effects/shader_composer.h" +#include "gpu/shader_composer.h" CircleMaskEffect::CircleMaskEffect(const GpuContext& ctx, float radius) : Effect(ctx), radius_(radius) { diff --git a/src/gpu/effects/circle_mask_effect.h b/src/effects/circle_mask_effect.h index 6ebaca1..53cc1bc 100644 --- a/src/gpu/effects/circle_mask_effect.h +++ b/src/effects/circle_mask_effect.h @@ -6,7 +6,7 @@ #define CIRCLE_MASK_EFFECT_H_ #include "gpu/effect.h" -#include "gpu/effects/post_process_helper.h" +#include "gpu/post_process_helper.h" #include "gpu/uniform_helper.h" class CircleMaskEffect : public Effect { diff --git a/src/gpu/effects/cnn_effect.cc b/src/effects/cnn_effect.cc index 83a3365..4475180 100644 --- a/src/gpu/effects/cnn_effect.cc +++ b/src/effects/cnn_effect.cc @@ -1,10 +1,10 @@ // CNN post-processing effect implementation // Neural network-based stylization with modular WGSL -#include "gpu/effects/cnn_effect.h" -#include "gpu/effects/post_process_helper.h" -#include "gpu/effects/shaders.h" -#include "gpu/effects/shader_composer.h" +#include "effects/cnn_effect.h" +#include "gpu/post_process_helper.h" +#include "gpu/shaders.h" +#include "gpu/shader_composer.h" #include "gpu/effect.h" #include "gpu/bind_group_builder.h" #include "gpu/sampler_cache.h" diff --git a/src/gpu/effects/cnn_effect.h b/src/effects/cnn_effect.h index 3e2b7ca..3e2b7ca 100644 --- a/src/gpu/effects/cnn_effect.h +++ b/src/effects/cnn_effect.h diff --git a/src/gpu/effects/cnn_v2_effect.cc b/src/effects/cnn_v2_effect.cc index be856a4..4c10ed1 100644 --- a/src/gpu/effects/cnn_v2_effect.cc +++ b/src/effects/cnn_v2_effect.cc @@ -1,6 +1,6 @@ // CNN v2 Effect Implementation -#include "gpu/effects/cnn_v2_effect.h" +#include "effects/cnn_v2_effect.h" #if defined(USE_TEST_ASSETS) #include "test_assets.h" @@ -153,7 +153,7 @@ void CNNv2Effect::create_textures() { // Input texture with mips (for multi-scale features) TextureWithView input_mip = gpu_create_texture_2d( ctx_.device, width_, height_, WGPUTextureFormat_RGBA8Unorm, - WGPUTextureUsage_TextureBinding | WGPUTextureUsage_CopyDst, 3); + (WGPUTextureUsage)(WGPUTextureUsage_TextureBinding | WGPUTextureUsage_CopyDst), 3); input_mip_tex_ = input_mip.texture; for (int i = 0; i < 3; ++i) { diff --git a/src/gpu/effects/cnn_v2_effect.h b/src/effects/cnn_v2_effect.h index d530d3b..d530d3b 100644 --- a/src/gpu/effects/cnn_v2_effect.h +++ b/src/effects/cnn_v2_effect.h diff --git a/src/gpu/effects/distort_effect.cc b/src/effects/distort_effect.cc index 97622b2..97622b2 100644 --- a/src/gpu/effects/distort_effect.cc +++ b/src/effects/distort_effect.cc diff --git a/src/gpu/effects/fade_effect.cc b/src/effects/fade_effect.cc index 93684d8..fd2af69 100644 --- a/src/gpu/effects/fade_effect.cc +++ b/src/effects/fade_effect.cc @@ -1,8 +1,8 @@ // This file is part of the 64k demo project. // It implements the FadeEffect - fades to/from black based on time. -#include "gpu/effects/fade_effect.h" -#include "gpu/effects/post_process_helper.h" +#include "effects/fade_effect.h" +#include "gpu/post_process_helper.h" #include <cmath> struct FadeParams { diff --git a/src/gpu/effects/fade_effect.h b/src/effects/fade_effect.h index 3360a5f..8cd7006 100644 --- a/src/gpu/effects/fade_effect.h +++ b/src/effects/fade_effect.h @@ -4,7 +4,7 @@ #pragma once #include "gpu/effect.h" -#include "gpu/effects/post_process_helper.h" +#include "gpu/post_process_helper.h" #include "gpu/gpu.h" #include "gpu/uniform_helper.h" diff --git a/src/gpu/effects/flash_cube_effect.cc b/src/effects/flash_cube_effect.cc index 506f11c..29e9897 100644 --- a/src/gpu/effects/flash_cube_effect.cc +++ b/src/effects/flash_cube_effect.cc @@ -2,7 +2,7 @@ // It implements the FlashCubeEffect - a flashing background cube with Perlin // noise. -#include "gpu/effects/flash_cube_effect.h" +#include "effects/flash_cube_effect.h" #include "generated/assets.h" #include "util/asset_manager_utils.h" #include <cmath> diff --git a/src/gpu/effects/flash_cube_effect.h b/src/effects/flash_cube_effect.h index df30b5b..df30b5b 100644 --- a/src/gpu/effects/flash_cube_effect.h +++ b/src/effects/flash_cube_effect.h diff --git a/src/gpu/effects/flash_effect.cc b/src/effects/flash_effect.cc index e53cbce..235412d 100644 --- a/src/gpu/effects/flash_effect.cc +++ b/src/effects/flash_effect.cc @@ -2,8 +2,8 @@ // It implements the FlashEffect - brief flash on u.beat hits. // Now supports parameterized color with per-frame animation. -#include "gpu/effects/flash_effect.h" -#include "gpu/effects/post_process_helper.h" +#include "effects/flash_effect.h" +#include "gpu/post_process_helper.h" #include <cmath> // Backward compatibility constructor (delegates to parameterized constructor) diff --git a/src/gpu/effects/flash_effect.h b/src/effects/flash_effect.h index 1ac75a4..1ac75a4 100644 --- a/src/gpu/effects/flash_effect.h +++ b/src/effects/flash_effect.h diff --git a/src/gpu/effects/gaussian_blur_effect.cc b/src/effects/gaussian_blur_effect.cc index 4421e33..0b4beae 100644 --- a/src/gpu/effects/gaussian_blur_effect.cc +++ b/src/effects/gaussian_blur_effect.cc @@ -2,7 +2,7 @@ // It implements the GaussianBlurEffect with parameterization. #include "gpu/demo_effects.h" -#include "gpu/effects/post_process_helper.h" +#include "gpu/post_process_helper.h" #include "gpu/gpu.h" // --- GaussianBlurEffect --- diff --git a/src/gpu/effects/heptagon_effect.cc b/src/effects/heptagon_effect.cc index 724eabb..724eabb 100644 --- a/src/gpu/effects/heptagon_effect.cc +++ b/src/effects/heptagon_effect.cc diff --git a/src/gpu/effects/hybrid_3d_effect.cc b/src/effects/hybrid_3d_effect.cc index a46ab4c..1cd773d 100644 --- a/src/gpu/effects/hybrid_3d_effect.cc +++ b/src/effects/hybrid_3d_effect.cc @@ -1,7 +1,7 @@ // This file is part of the 64k demo project. // It implements the Hybrid3DEffect. -#include "gpu/effects/hybrid_3d_effect.h" +#include "effects/hybrid_3d_effect.h" #include "generated/assets.h" #include "util/asset_manager_utils.h" #include <cassert> diff --git a/src/gpu/effects/hybrid_3d_effect.h b/src/effects/hybrid_3d_effect.h index 818b65c..818b65c 100644 --- a/src/gpu/effects/hybrid_3d_effect.h +++ b/src/effects/hybrid_3d_effect.h diff --git a/src/gpu/effects/moving_ellipse_effect.cc b/src/effects/moving_ellipse_effect.cc index bbd3c08..f595de9 100644 --- a/src/gpu/effects/moving_ellipse_effect.cc +++ b/src/effects/moving_ellipse_effect.cc @@ -2,7 +2,7 @@ // It implements the MovingEllipseEffect. #include "gpu/demo_effects.h" -#include "gpu/effects/post_process_helper.h" +#include "gpu/post_process_helper.h" #include "gpu/gpu.h" // --- MovingEllipseEffect --- diff --git a/src/gpu/effects/particle_spray_effect.cc b/src/effects/particle_spray_effect.cc index 9b615d0..e250f5a 100644 --- a/src/gpu/effects/particle_spray_effect.cc +++ b/src/effects/particle_spray_effect.cc @@ -2,7 +2,7 @@ // It implements the ParticleSprayEffect. #include "gpu/demo_effects.h" -#include "gpu/effects/post_process_helper.h" +#include "gpu/post_process_helper.h" #include "gpu/gpu.h" #include <vector> diff --git a/src/gpu/effects/particles_effect.cc b/src/effects/particles_effect.cc index f8c18f0..5762637 100644 --- a/src/gpu/effects/particles_effect.cc +++ b/src/effects/particles_effect.cc @@ -2,7 +2,7 @@ // It implements the ParticlesEffect. #include "gpu/demo_effects.h" -#include "gpu/effects/post_process_helper.h" +#include "gpu/post_process_helper.h" #include "gpu/gpu.h" #include <vector> diff --git a/src/gpu/effects/passthrough_effect.cc b/src/effects/passthrough_effect.cc index aedb387..aedb387 100644 --- a/src/gpu/effects/passthrough_effect.cc +++ b/src/effects/passthrough_effect.cc diff --git a/src/gpu/effects/rotating_cube_effect.cc b/src/effects/rotating_cube_effect.cc index 96b02f1..a42feaa 100644 --- a/src/gpu/effects/rotating_cube_effect.cc +++ b/src/effects/rotating_cube_effect.cc @@ -2,10 +2,10 @@ // It implements RotatingCubeEffect for bump-mapped rotating cube rendering. // Uses auxiliary texture masking to render only inside a circular region. -#include "gpu/effects/rotating_cube_effect.h" +#include "effects/rotating_cube_effect.h" #include "generated/assets.h" #include "gpu/bind_group_builder.h" -#include "gpu/effects/shader_composer.h" +#include "gpu/shader_composer.h" #include "gpu/gpu.h" #include "gpu/sampler_cache.h" #include "util/asset_manager_utils.h" @@ -39,7 +39,7 @@ void RotatingCubeEffect::init(MainSequence* demo) { TextureWithView noise = gpu_create_texture_2d( ctx_.device, 1, 1, WGPUTextureFormat_RGBA8Unorm, - WGPUTextureUsage_TextureBinding | WGPUTextureUsage_RenderAttachment, 1); + (WGPUTextureUsage)(WGPUTextureUsage_TextureBinding | WGPUTextureUsage_RenderAttachment), 1); noise_texture_ = noise.texture; noise_view_ = noise.view; diff --git a/src/gpu/effects/rotating_cube_effect.h b/src/effects/rotating_cube_effect.h index fdf67ab..fdf67ab 100644 --- a/src/gpu/effects/rotating_cube_effect.h +++ b/src/effects/rotating_cube_effect.h diff --git a/src/gpu/effects/scene1_effect.cc b/src/effects/scene1_effect.cc index c75e511..c75e511 100644 --- a/src/gpu/effects/scene1_effect.cc +++ b/src/effects/scene1_effect.cc diff --git a/src/gpu/effects/scene1_effect.h b/src/effects/scene1_effect.h index 190ffa9..190ffa9 100644 --- a/src/gpu/effects/scene1_effect.h +++ b/src/effects/scene1_effect.h diff --git a/src/gpu/effects/solarize_effect.cc b/src/effects/solarize_effect.cc index cdb9354..cdb9354 100644 --- a/src/gpu/effects/solarize_effect.cc +++ b/src/effects/solarize_effect.cc diff --git a/src/gpu/effects/theme_modulation_effect.cc b/src/effects/theme_modulation_effect.cc index aff6bce..1c81d79 100644 --- a/src/gpu/effects/theme_modulation_effect.cc +++ b/src/effects/theme_modulation_effect.cc @@ -1,9 +1,9 @@ // This file is part of the 64k demo project. // It implements theme modulation (bright/dark alternation). -#include "gpu/effects/theme_modulation_effect.h" -#include "gpu/effects/post_process_helper.h" -#include "gpu/effects/shaders.h" +#include "effects/theme_modulation_effect.h" +#include "gpu/post_process_helper.h" +#include "gpu/shaders.h" #include <cmath> struct ThemeModulationParams { diff --git a/src/gpu/effects/theme_modulation_effect.h b/src/effects/theme_modulation_effect.h index 31e96e6..e4d4e0a 100644 --- a/src/gpu/effects/theme_modulation_effect.h +++ b/src/effects/theme_modulation_effect.h @@ -5,7 +5,7 @@ #pragma once #include "gpu/effect.h" -#include "gpu/effects/post_process_helper.h" +#include "gpu/post_process_helper.h" #include "gpu/uniform_helper.h" class ThemeModulationEffect : public PostProcessEffect { diff --git a/src/gpu/effects/vignette_effect.cc b/src/effects/vignette_effect.cc index 4b0ffe2..0e5f68f 100644 --- a/src/gpu/effects/vignette_effect.cc +++ b/src/effects/vignette_effect.cc @@ -2,7 +2,7 @@ // It implements the VignetteEffect. #include "gpu/demo_effects.h" -#include "gpu/effects/post_process_helper.h" +#include "gpu/post_process_helper.h" #include "gpu/gpu.h" VignetteEffect::VignetteEffect(const GpuContext& ctx) diff --git a/src/gpu/demo_effects.cc b/src/gpu/demo_effects.cc index 069d36c..3acf287 100644 --- a/src/gpu/demo_effects.cc +++ b/src/gpu/demo_effects.cc @@ -3,8 +3,8 @@ // Its content has been split into individual effect files and helper files. #include "gpu/demo_effects.h" -#include "gpu/effects/circle_mask_effect.h" -#include "gpu/effects/rotating_cube_effect.h" +#include "effects/circle_mask_effect.h" +#include "effects/rotating_cube_effect.h" // Auto-generated function to populate the timeline void LoadTimeline(MainSequence& main_seq, WGPUDevice device, WGPUQueue queue, diff --git a/src/gpu/demo_effects.h b/src/gpu/demo_effects.h index d0ae748..beadafb 100644 --- a/src/gpu/demo_effects.h +++ b/src/gpu/demo_effects.h @@ -6,16 +6,16 @@ #include "3d/renderer.h" #include "3d/scene.h" #include "effect.h" -#include "gpu/effects/circle_mask_effect.h" -#include "gpu/effects/fade_effect.h" // FadeEffect with full definition -#include "gpu/effects/flash_effect.h" // FlashEffect with params support -#include "gpu/effects/post_process_helper.h" -#include "gpu/effects/rotating_cube_effect.h" -#include "gpu/effects/shaders.h" -#include "gpu/effects/theme_modulation_effect.h" // ThemeModulationEffect with full definition -#include "gpu/effects/hybrid_3d_effect.h" -#include "gpu/effects/flash_cube_effect.h" -#include "gpu/effects/scene1_effect.h" +#include "effects/circle_mask_effect.h" +#include "effects/fade_effect.h" // FadeEffect with full definition +#include "effects/flash_effect.h" // FlashEffect with params support +#include "gpu/post_process_helper.h" +#include "effects/rotating_cube_effect.h" +#include "gpu/shaders.h" +#include "effects/theme_modulation_effect.h" // ThemeModulationEffect with full definition +#include "effects/hybrid_3d_effect.h" +#include "effects/flash_cube_effect.h" +#include "effects/scene1_effect.h" #include "gpu/gpu.h" #include "gpu/texture_manager.h" #include "gpu/uniform_helper.h" @@ -180,13 +180,9 @@ class DistortEffect : public PostProcessEffect { UniformBuffer<DistortParams> params_buffer_; }; -// ThemeModulationEffect now defined in gpu/effects/theme_modulation_effect.h -// (included above) FadeEffect now defined in gpu/effects/fade_effect.h -// (included above) FlashEffect now defined in gpu/effects/flash_effect.h -// (included above) -#include "gpu/effects/cnn_effect.h" -#include "gpu/effects/cnn_v2_effect.h" +#include "effects/cnn_effect.h" +#include "effects/cnn_v2_effect.h" // Auto-generated functions void LoadTimeline(MainSequence& main_seq, const GpuContext& ctx); diff --git a/src/gpu/effect.h b/src/gpu/effect.h index b9709a4..5d835ad 100644 --- a/src/gpu/effect.h +++ b/src/gpu/effect.h @@ -1,6 +1,6 @@ #pragma once #include "gpu/gpu.h" -#include "gpu/effects/post_process_helper.h" +#include "gpu/post_process_helper.h" #include "gpu/uniform_helper.h" #include <algorithm> #include <map> diff --git a/src/gpu/gpu.cc b/src/gpu/gpu.cc index afbba90..929a063 100644 --- a/src/gpu/gpu.cc +++ b/src/gpu/gpu.cc @@ -4,8 +4,8 @@ #include "gpu.h" #include "effect.h" -#include "gpu/effects/shaders.h" -#include "gpu/effects/shader_composer.h" +#include "gpu/shaders.h" +#include "gpu/shader_composer.h" #include "platform/platform.h" #include <cassert> @@ -81,7 +81,7 @@ TextureWithView gpu_create_storage_texture_2d(WGPUDevice device, uint32_t width, WGPUTextureFormat format) { return gpu_create_texture_2d( device, width, height, format, - WGPUTextureUsage_StorageBinding | WGPUTextureUsage_TextureBinding, 1); + (WGPUTextureUsage)(WGPUTextureUsage_StorageBinding | WGPUTextureUsage_TextureBinding), 1); } TextureWithView gpu_create_post_process_texture(WGPUDevice device, @@ -89,8 +89,7 @@ TextureWithView gpu_create_post_process_texture(WGPUDevice device, WGPUTextureFormat format) { return gpu_create_texture_2d( device, width, height, format, - WGPUTextureUsage_RenderAttachment | WGPUTextureUsage_TextureBinding | - WGPUTextureUsage_CopySrc, + (WGPUTextureUsage)(WGPUTextureUsage_RenderAttachment | WGPUTextureUsage_TextureBinding | WGPUTextureUsage_CopySrc), 1); } diff --git a/src/gpu/pipeline_builder.h b/src/gpu/pipeline_builder.h index 06b4ceb..68e34ea 100644 --- a/src/gpu/pipeline_builder.h +++ b/src/gpu/pipeline_builder.h @@ -14,7 +14,7 @@ struct WGPUShaderModuleImpl; typedef struct WGPUShaderModuleImpl* WGPUShaderModule; #include "platform/platform.h" -#include "gpu/effects/shader_composer.h" +#include "gpu/shader_composer.h" class RenderPipelineBuilder { WGPUDevice device_; diff --git a/src/gpu/effects/post_process_helper.cc b/src/gpu/post_process_helper.cc index 0c339c7..4ffa9c1 100644 --- a/src/gpu/effects/post_process_helper.cc +++ b/src/gpu/post_process_helper.cc @@ -2,9 +2,9 @@ // It implements helper functions for post-processing effects. #include "post_process_helper.h" -#include "../demo_effects.h" +#include "demo_effects.h" #include "gpu/gpu.h" -#include "gpu/effects/shader_composer.h" +#include "gpu/shader_composer.h" #include "gpu/bind_group_builder.h" #include "gpu/sampler_cache.h" #include "gpu/pipeline_builder.h" diff --git a/src/gpu/effects/post_process_helper.h b/src/gpu/post_process_helper.h index 1c649e7..1c649e7 100644 --- a/src/gpu/effects/post_process_helper.h +++ b/src/gpu/post_process_helper.h diff --git a/src/gpu/effects/shader_composer.cc b/src/gpu/shader_composer.cc index 9234b7a..fce6de4 100644 --- a/src/gpu/effects/shader_composer.cc +++ b/src/gpu/shader_composer.cc @@ -1,7 +1,7 @@ // This file is part of the 64k demo project. // It implements the ShaderComposer class. -#include "gpu/effects/shader_composer.h" +#include "gpu/shader_composer.h" #include <set> #include <sstream> diff --git a/src/gpu/effects/shader_composer.h b/src/gpu/shader_composer.h index d0972f2..d0972f2 100644 --- a/src/gpu/effects/shader_composer.h +++ b/src/gpu/shader_composer.h diff --git a/src/gpu/effects/shaders.cc b/src/gpu/shaders.cc index d79f3d3..903b96e 100644 --- a/src/gpu/effects/shaders.cc +++ b/src/gpu/shaders.cc @@ -1,7 +1,7 @@ // This file is part of the 64k demo project. // It defines WGSL shader code for various effects. -#include "../demo_effects.h" +#include "demo_effects.h" #if defined(USE_TEST_ASSETS) @@ -13,7 +13,7 @@ #endif -#include "gpu/effects/shader_composer.h" +#include "gpu/shader_composer.h" #include "util/asset_manager.h" diff --git a/src/gpu/effects/shaders.h b/src/gpu/shaders.h index 03fa48c..03fa48c 100644 --- a/src/gpu/effects/shaders.h +++ b/src/gpu/shaders.h diff --git a/src/gpu/texture_manager.cc b/src/gpu/texture_manager.cc index d5821ee..7889283 100644 --- a/src/gpu/texture_manager.cc +++ b/src/gpu/texture_manager.cc @@ -2,7 +2,7 @@ // It implements the TextureManager. #include "gpu/texture_manager.h" -#include "gpu/effects/shader_composer.h" +#include "gpu/shader_composer.h" #include "platform/platform.h" #include <cstdio> #include <cstring> diff --git a/src/tests/3d/test_3d_physics.cc b/src/tests/3d/test_3d_physics.cc index 9b8bf11..9e4f71b 100644 --- a/src/tests/3d/test_3d_physics.cc +++ b/src/tests/3d/test_3d_physics.cc @@ -8,7 +8,7 @@ #include "3d/renderer.h" #include "3d/renderer_helpers.h" #include "3d/scene.h" -#include "gpu/effects/shaders.h" +#include "gpu/shaders.h" #include "gpu/texture_manager.h" #include "platform/platform.h" #include "procedural/generator.h" diff --git a/src/tests/3d/test_3d_render.cc b/src/tests/3d/test_3d_render.cc index 87d7b76..10de907 100644 --- a/src/tests/3d/test_3d_render.cc +++ b/src/tests/3d/test_3d_render.cc @@ -7,7 +7,7 @@ #include "3d/renderer_helpers.h" #include "3d/scene.h" #include "generated/assets.h" -#include "gpu/effects/shaders.h" +#include "gpu/shaders.h" #include "gpu/texture_manager.h" #include "platform/platform.h" #include "procedural/generator.h" diff --git a/src/tests/3d/test_mesh.cc b/src/tests/3d/test_mesh.cc index 4a1d97b..d4ce097 100644 --- a/src/tests/3d/test_mesh.cc +++ b/src/tests/3d/test_mesh.cc @@ -6,7 +6,7 @@ #include "3d/renderer.h" #include "3d/renderer_helpers.h" #include "3d/scene.h" -#include "gpu/effects/shaders.h" +#include "gpu/shaders.h" #include "gpu/texture_manager.h" #include "platform/platform.h" #include "procedural/generator.h" diff --git a/src/tests/gpu/test_demo_effects.cc b/src/tests/gpu/test_demo_effects.cc index 169db91..7c61691 100644 --- a/src/tests/gpu/test_demo_effects.cc +++ b/src/tests/gpu/test_demo_effects.cc @@ -13,7 +13,7 @@ #include "../common/effect_test_helpers.h" #include "gpu/demo_effects.h" #include "gpu/effect.h" -#include "gpu/effects/cnn_effect.h" +#include "effects/cnn_effect.h" #include "../common/webgpu_test_fixture.h" #include <cassert> #include <cstdio> diff --git a/src/tests/gpu/test_noise_functions.cc b/src/tests/gpu/test_noise_functions.cc index f8dfc93..eddd88e 100644 --- a/src/tests/gpu/test_noise_functions.cc +++ b/src/tests/gpu/test_noise_functions.cc @@ -2,8 +2,8 @@ // It validates that the noise.wgsl functions are accessible and usable. #include "generated/assets.h" -#include "gpu/effects/shader_composer.h" -#include "gpu/effects/shaders.h" +#include "gpu/shader_composer.h" +#include "gpu/shaders.h" #include <cassert> #include <cstdio> #include <cstring> diff --git a/src/tests/gpu/test_shader_compilation.cc b/src/tests/gpu/test_shader_compilation.cc index a322e8a..3a7c2cf 100644 --- a/src/tests/gpu/test_shader_compilation.cc +++ b/src/tests/gpu/test_shader_compilation.cc @@ -6,8 +6,8 @@ // - Type mismatches #include "generated/assets.h" -#include "gpu/effects/shader_composer.h" -#include "gpu/effects/shaders.h" +#include "gpu/shader_composer.h" +#include "gpu/shaders.h" #include "platform/platform.h" #include <cassert> #include <cstdio> diff --git a/src/tests/gpu/test_shader_composer.cc b/src/tests/gpu/test_shader_composer.cc index a98a259..a23d6fa 100644 --- a/src/tests/gpu/test_shader_composer.cc +++ b/src/tests/gpu/test_shader_composer.cc @@ -1,7 +1,7 @@ // This file is part of the 64k demo project. // It tests the ShaderComposer utility. -#include "gpu/effects/shader_composer.h" +#include "gpu/shader_composer.h" #include <cassert> #include <iostream> #include <string> diff --git a/tools/cnn_test.cc b/tools/cnn_test.cc index 1d736d9..740f41d 100644 --- a/tools/cnn_test.cc +++ b/tools/cnn_test.cc @@ -11,10 +11,10 @@ #include "gpu/pipeline_builder.h" #include "gpu/sampler_cache.h" #include "gpu/texture_readback.h" -#include "gpu/effects/post_process_helper.h" -#include "gpu/effects/cnn_effect.h" -#include "gpu/effects/shader_composer.h" -#include "gpu/effects/shaders.h" +#include "gpu/post_process_helper.h" +#include "effects/cnn_effect.h" +#include "gpu/shader_composer.h" +#include "gpu/shaders.h" #include "tests/common/webgpu_test_fixture.h" #include "tests/common/offscreen_render_target.h" #include "generated/assets.h" diff --git a/tools/cnn_v2_test/README.md b/tools/cnn_v2_test/README.md index b9439e5..d41a00f 100644 --- a/tools/cnn_v2_test/README.md +++ b/tools/cnn_v2_test/README.md @@ -248,4 +248,4 @@ Planned enhancements: - `doc/CNN_V2.md` - Architecture and design - `doc/HOWTO.md` - Training workflows - `training/export_cnn_v2_weights.py` - Binary format -- `src/gpu/effects/cnn_v2_effect.cc` - C++ reference implementation +- `src/effects/cnn_v2_effect.cc` - C++ reference implementation diff --git a/tools/shadertoy/README.md b/tools/shadertoy/README.md index 283a65f..1ce42e8 100644 --- a/tools/shadertoy/README.md +++ b/tools/shadertoy/README.md @@ -44,8 +44,8 @@ EOF # Choose effect name (e.g., "tunnel", "plasma", "warp") EFFECT_NAME="myeffect" -cp tools/shadertoy/template.h src/gpu/effects/${EFFECT_NAME}_effect.h -cp tools/shadertoy/template.cc src/gpu/effects/${EFFECT_NAME}_effect.cc +cp tools/shadertoy/template.h src/effects/${EFFECT_NAME}_effect.h +cp tools/shadertoy/template.cc src/effects/${EFFECT_NAME}_effect.cc cp tools/shadertoy/template.wgsl workspaces/main/shaders/${EFFECT_NAME}.wgsl ``` @@ -94,7 +94,7 @@ shaders/myeffect.wgsl In `src/gpu/demo_effects.h`: ```cpp -#include "gpu/effects/myeffect_effect.h" +#include "effects/myeffect_effect.h" ``` In `workspaces/main/timeline.seq`: @@ -107,7 +107,7 @@ SEQUENCE 0.0 0 Add effect source to `CMakeLists.txt` GPU_SOURCES (both headless and normal mode sections): ```cmake -src/gpu/effects/myeffect_effect.cc +src/effects/myeffect_effect.cc ``` ### 8. Update Tests @@ -201,4 +201,4 @@ Always available in `uniforms: CommonUniforms`: - See `doc/CONTRIBUTING.md` for commit policy - See `doc/SEQUENCE.md` for timeline syntax -- See existing effects in `src/gpu/effects/` for examples +- See existing effects in `src/effects/` for examples diff --git a/tools/shadertoy/convert_shadertoy.py b/tools/shadertoy/convert_shadertoy.py index e85f384..ad4c310 100755 --- a/tools/shadertoy/convert_shadertoy.py +++ b/tools/shadertoy/convert_shadertoy.py @@ -10,8 +10,8 @@ # ./tools/shadertoy/convert_shadertoy.py tools/shadertoy/example.txt Rainbow # # Generates: -# - src/gpu/effects/<effect>_effect.h -# - src/gpu/effects/<effect>_effect.cc +# - src/effects/<effect>_effect.h +# - src/effects/<effect>_effect.cc # - workspaces/main/shaders/<effect>.wgsl # # The script performs basic ShaderToy→WGSL conversion: @@ -150,7 +150,7 @@ def generate_header(effect_name, is_post_process=False): #define {upper_name}_EFFECT_H_ #include "gpu/effect.h" -#include "gpu/effects/post_process_helper.h" +#include "gpu/post_process_helper.h" class {class_name} : public PostProcessEffect {{ public: @@ -197,7 +197,7 @@ def generate_implementation(effect_name, is_post_process=False): // Generated by convert_shadertoy.py #include "gpu/demo_effects.h" -#include "gpu/effects/post_process_helper.h" +#include "gpu/post_process_helper.h" #include "gpu/gpu.h" {class_name}::{class_name}(const GpuContext& ctx) : PostProcessEffect(ctx) {{ @@ -309,8 +309,8 @@ def main(): print(" --shader-only Only regenerate .wgsl shader (skip .h/.cc files)") print() print("This will generate:") - print(" src/gpu/effects/<effect>_effect.h") - print(" src/gpu/effects/<effect>_effect.cc") + print(" src/effects/<effect>_effect.h") + print(" src/effects/<effect>_effect.cc") print(" workspaces/main/shaders/<effect>.wgsl") sys.exit(1) @@ -370,20 +370,20 @@ def main(): print(f" SHADER_{upper_name}, NONE, shaders/{snake_name}.wgsl, \"{effect_name} effect\"") print() print() - print("2. Add shader declaration to src/gpu/effects/shaders.h:") + print("2. Add shader declaration to src/gpu/shaders.h:") print(f" extern const char* {snake_name}_shader_wgsl;") print() - print("3. Add shader definition to src/gpu/effects/shaders.cc:") + print("3. Add shader definition to src/gpu/shaders.cc:") print(f" const char* {snake_name}_shader_wgsl = SafeGetAsset(AssetId::ASSET_SHADER_{upper_name});") print() print("4. Include header in src/gpu/demo_effects.h:") - print(f' #include "gpu/effects/{snake_name}_effect.h"') + print(f' #include "effects/{snake_name}_effect.h"') print() print("5. Add to timeline in workspaces/main/timeline.seq:") print(f" EFFECT + {effect_name}Effect 0.0 10.0") print() print("6. Add to CMakeLists.txt GPU_SOURCES (both headless and normal mode):") - print(f" src/gpu/effects/{snake_name}_effect.cc") + print(f" src/effects/{snake_name}_effect.cc") print() print("7. Update src/tests/gpu/test_demo_effects.cc:") test_list = "post_process_effects" if is_post_process else "scene_effects" diff --git a/tools/shadertoy/template.cc b/tools/shadertoy/template.cc index 288283d..35c9b10 100644 --- a/tools/shadertoy/template.cc +++ b/tools/shadertoy/template.cc @@ -2,8 +2,8 @@ // ShaderToy effect implementation - REPLACE THIS LINE // TODO: Update description, rename class -#include "gpu/effects/shadertoy_effect.h" -#include "gpu/effects/shader_composer.h" +#include "effects/shadertoy_effect.h" +#include "gpu/shader_composer.h" #include "generated/assets.h" // TODO: Rename class and adjust constructor parameters diff --git a/tools/shadertoy/template.h b/tools/shadertoy/template.h index 2e4af5f..82f8b39 100644 --- a/tools/shadertoy/template.h +++ b/tools/shadertoy/template.h @@ -6,7 +6,7 @@ #define SHADERTOY_EFFECT_H_ #include "gpu/effect.h" -#include "gpu/effects/post_process_helper.h" +#include "gpu/post_process_helper.h" #include "gpu/uniform_helper.h" // TODO: Rename class to match your effect (e.g., TunnelEffect, PlasmaEffect) |
