summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/TODO.md b/TODO.md
index 76a2ba0..8394972 100644
--- a/TODO.md
+++ b/TODO.md
@@ -350,6 +350,26 @@ This file tracks prioritized tasks with detailed attack plans.
- Increased particle usage: Added 5 ParticleSprayEffect instances throughout demo (6b, 12b, 17b, 24b, 56b)
- Result: Particles now render as fading transparent circles instead of opaque squares
- [ ] **Task #55: SDF Random Planes Intersection**: Implement `sdPolyhedron` (crystal/gem shapes) via plane intersection.
+- [ ] **Task #68: Visual Debug - Mesh Wireframe Rendering**: Show triangle edges as lines for mesh objects
+ - **Current**: Visual debug mode shows normals for all objects (SDF and meshes)
+ - **Goal**: Add wireframe overlay for mesh objects to visualize triangle structure
+ - **Implementation**:
+ - Extend `VisualDebug` class with mesh wireframe rendering function
+ - For each mesh triangle: draw 3 lines connecting vertices (v0→v1, v1→v2, v2→v0)
+ - Use world-space positions (transform by model matrix)
+ - Color: distinct from normals (e.g., cyan for edges, yellow for normals)
+ - Only render when debug mode enabled (`!STRIP_ALL`)
+ - **Use Cases**:
+ - Verify mesh topology and face orientation
+ - Debug mesh loading/transformation issues
+ - Visualize mesh deformation or animation
+ - Check for degenerate triangles or mesh artifacts
+ - **Technical Details**:
+ - Access mesh data via `AssetManager::GetMeshAsset()`
+ - Iterate through indices in groups of 3 (triangles)
+ - Draw lines using existing `VisualDebug::draw_line()` API
+ - Transform vertices: `world_pos = model_matrix * local_pos`
+ - **Priority**: Low (debug visualization, not production feature)
- [ ] **Task #54: Tracy Integration**: Integrate Tracy debugger for performance profiling.
- [ ] **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.