summaryrefslogtreecommitdiff
path: root/src/3d/visual_debug.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/3d/visual_debug.cc')
-rw-r--r--src/3d/visual_debug.cc18
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[] = {