From 32a6d4f516b2ff45e25ddc7870e5400c2973fb9a Mon Sep 17 00:00:00 2001 From: skal Date: Fri, 6 Feb 2026 02:16:32 +0100 Subject: chore: Update documentation, generated assets, and cleanup Removed obsolete scene_query.wgsl (replaced by variants). Updated TODO.md. Committed generated asset files reflecting new shader snippets. --- TODO.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'TODO.md') diff --git a/TODO.md b/TODO.md index 71fc3bc..69bb111 100644 --- a/TODO.md +++ b/TODO.md @@ -147,10 +147,11 @@ This file tracks prioritized tasks with detailed attack plans. - [ ] **Task #37: Asset Ingestion:** Update `asset_packer` to handle the new 3D binary format. - [ ] **Task #38: Runtime Loader:** Implement a minimal C++ parser to load the scene data into the ECS/Renderer. -- [ ] **Task #18-B: GPU BVH & Shadows** (Optimization) - - [ ] **Upload BVH:** Create a storage buffer for `BVHNode` data and upload the CPU-built BVH every frame in `Renderer3D`. - - [ ] **Shader Traversal:** Implement stack-based BVH traversal in `scene_query.wgsl` to replace the linear loop in `map_scene`. - - [ ] **Shadow Optimization:** Use the BVH traversal for `calc_shadow` to skip occluded objects efficiently. +- [x] **Task #18-B: GPU BVH & Shadows** (Optimization) + - [x] **Upload BVH:** Create a storage buffer for `BVHNode` data and upload the CPU-built BVH every frame in `Renderer3D`. + - [x] **Shader Traversal:** Implement stack-based BVH traversal in `scene_query.wgsl` to replace the linear loop in `map_scene`. + - [x] **Shadow Optimization:** Use the BVH traversal for `calc_shadow` to skip occluded objects efficiently. + - [x] **Compile-Time Switch:** Implemented dual-pipeline architecture (BVH vs Linear) using `ShaderComposer` substitution to avoid runtime branching cost. ## Priority 3: WGSL Modularization (Task #50) [RECURRENT] @@ -175,6 +176,13 @@ This file tracks prioritized tasks with detailed attack plans. - [ ] **Task #35: CRT Replacement**: investigation and implementation of CRT-free entry point. +## Future Goals & Ideas (Untriaged) + +- [ ] **Task #58: Advanced Shader Factorization**: Further factorize WGSL code into smaller, reusable snippets. +- [ ] **Task #59: Comprehensive RNG Library**: Add WGSL snippets for float/vec2/vec3 noise (Perlin, Gyroid, etc.) and random number generators. +- [ ] **Task #60: OOP Refactoring**: Investigate if more C++ code can be made object-oriented without size penalty (vs functional style). +- [ ] **Task #61: GPU Procedural Generation**: Implement system to generate procedural data (textures, geometry) on GPU and read back to CPU. + --- ## Task #51: Tracker Timing Verification - Detailed Attack Plan -- cgit v1.2.3