diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-02 16:52:25 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-02 16:52:25 +0100 |
| commit | a4bfd2f1aae7274eaeb632a8b60a75357da7b410 (patch) | |
| tree | eeb881f20e0ba891dc27e4ca018ec3fd4712ef74 /src/3d/visual_debug.cc | |
| parent | 2184a1043d1a071cdc78303b2247145bf3f18c0b (diff) | |
fix(3d): Tighten torus bounding box and restore object textures
- Adjusted Torus proxy hull in vs_main to fit unit dimensions (1.4x0.4x1.4).
- Updated VisualDebug to support per-object local extents, improving wireframe accuracy.
- Restored procedural floor grid and SDF bump mapping in the fragment shader.
- Added varied scaling to test scene objects to verify transform robustness.
Diffstat (limited to 'src/3d/visual_debug.cc')
| -rw-r--r-- | src/3d/visual_debug.cc | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/3d/visual_debug.cc b/src/3d/visual_debug.cc index 99d4b9f..c6c5c51 100644 --- a/src/3d/visual_debug.cc +++ b/src/3d/visual_debug.cc @@ -173,13 +173,17 @@ void VisualDebug::create_pipeline(WGPUTextureFormat format) { wgpuShaderModuleRelease(shader_module); } -void VisualDebug::add_box(const mat4& transform, const vec3& color) { - // 8 corners of unit cube [-1, 1] - vec4 p[] = { - transform * vec4(-1, -1, -1, 1), transform * vec4(1, -1, -1, 1), - transform * vec4(1, 1, -1, 1), transform * vec4(-1, 1, -1, 1), - transform * vec4(-1, -1, 1, 1), transform * vec4(1, -1, 1, 1), - transform * vec4(1, 1, 1, 1), transform * vec4(-1, 1, 1, 1)}; +void VisualDebug::add_box(const mat4& transform, const vec3& local_extent, + const vec3& color) { + float lx = local_extent.x; + float ly = local_extent.y; + float lz = local_extent.z; + + // 8 corners of transformed box + vec4 p[] = {transform * vec4(-lx, -ly, -lz, 1), transform * vec4(lx, -ly, -lz, 1), + transform * vec4(lx, ly, -lz, 1), transform * vec4(-lx, ly, -lz, 1), + transform * vec4(-lx, -ly, lz, 1), transform * vec4(lx, -ly, lz, 1), + transform * vec4(lx, ly, lz, 1), transform * vec4(-lx, ly, lz, 1)}; // 12 edges (each 2 vertices) DebugLine edges[] = { |
