diff options
| -rw-r--r-- | TODO.md | 15 |
1 files changed, 11 insertions, 4 deletions
@@ -139,10 +139,17 @@ This file tracks prioritized tasks with detailed attack plans. ## Critical Fixes -- [ ] **Task A: Fix Test Mesh** - - [ ] Investigate and fix bad bounding box (clipping at the bottom) for `dodecahedron.obj`. - - [ ] Investigate and fix strange normals for `dodecahedron.obj`. - - [ ] Fix incorrect shadows on the floor plane. +- [ ] **Task A: Fix Test Mesh** (Partially Complete) + - [x] Fixed mesh normal transformation bug (double-transpose in shaders) + - [x] Fixed quaternion rotation stretching (non-normalized axis in quat::from_axis) + - [x] Fixed mesh shadow scaling (excluded meshes from SDF scale factor) + - [x] Fixed floor rendering artifacts (changed from PLANE to BOX) + - [ ] **Task A.1**: Investigate and fix missing shadows in test_mesh + - [ ] **Task A.2**: Investigate and fix ObjectType::PLANE with non-uniform scaling + - **Issue**: PLANE with extreme non-uniform scaling (e.g., vec3(20, 0.01, 20)) causes incorrect SDF distance calculations in shadows + - **Workaround**: Changed test_mesh floor to use ObjectType::BOX instead + - **Root Cause**: sdPlane distance calculation doesn't account for non-uniform scaling when transformed to local space + - **Investigation needed**: Determine if PLANE should handle non-uniform scaling or if it's unsupported by design - [ ] **Task B: Move platform-specific conditional code into a single header location** - [ ] Abstract out `#if defined(DEMO_CROSS_COMPILE_WIN32)` statements from core `.cc` and `.h` sources. |
