aabb drawing for debug

This commit is contained in:
2025-03-03 00:30:34 +03:00
parent e3f195cf71
commit 1433aa8e40
2 changed files with 36 additions and 10 deletions

View File

@ -6,6 +6,13 @@ local AABB = {
max = Vector3(),
}
local RED = {
r = 255,
g = 0,
b = 0,
a = 255,
}
setmetatable(AABB, AABB)
AABB.__index = AABB
@ -29,10 +36,29 @@ function AABB:draw()
draw_line_3d{start = self.min, finish = Vector3(self.max.x, self.min.y, self.min.z)}
draw_line_3d{start = self.min, finish = Vector3(self.min.x, self.min.y, self.max.z)}
draw_line_3d{start = Vector3(self.max.x, self.min.y, self.max.z), finish = Vector3(self.min.x, self.min.y, self.max.z)}
draw_line_3d{start = Vector3(self.max.x, self.min.y, self.max.z), finish = Vector3(self.max.x, self.min.y, self.min.z)}
-- bottom rectangle diagonal
draw_line_3d{start = self.min, finish = Vector3(self.max.x, self.min.y, self.max.z), color = RED}
-- top rectangle
draw_line_3d{start = Vector3(self.min.x, self.max.y, self.min.z), finish = Vector3(self.max.x, self.max.y, self.min.z)}
draw_line_3d{start = Vector3(self.min.x, self.max.y, self.min.z), finish = Vector3(self.min.x, self.max.y, self.max.z)}
draw_line_3d{start = Vector3(self.max.x, self.max.y, self.max.z), finish = Vector3(self.min.x, self.max.y, self.max.z)}
draw_line_3d{start = Vector3(self.max.x, self.max.y, self.max.z), finish = Vector3(self.max.x, self.max.y, self.min.z)}
-- top rectangle diagonal
draw_line_3d{start = Vector3(self.max.x, self.max.y, self.max.z), finish = Vector3(self.min.x, self.max.y, self.min.z), color = RED}
-- hull
draw_line_3d{start = self.min, finish = Vector3(self.min.x, self.max.y, self.min.z)}
draw_line_3d{start = self.min, finish = Vector3(self.max.x, self.max.y, self.min.z), color = RED}
draw_line_3d{start = Vector3(self.max.x, self.min.y, self.min.z), finish = Vector3(self.max.x, self.max.y, self.min.z)}
draw_line_3d{start = Vector3(self.max.x, self.min.y, self.min.z), finish = Vector3(self.max.x, self.max.y, self.max.z), color = RED}
draw_line_3d{start = Vector3(self.max.x, self.min.y, self.max.z), finish = Vector3(self.max.x, self.max.y, self.max.z)}
draw_line_3d{start = Vector3(self.max.x, self.min.y, self.max.z), finish = Vector3(self.min.x, self.max.y, self.max.z), color = RED}
draw_line_3d{start = Vector3(self.min.x, self.min.y, self.max.z), finish = Vector3(self.min.x, self.max.y, self.max.z)}
draw_line_3d{start = Vector3(self.min.x, self.min.y, self.max.z), finish = Vector3(self.min.x, self.max.y, self.min.z), color = RED}
-- draw_line_3d{start = self.min, finish = Vector3(self.max.x, self.min.y, self.min.z)}
-- draw_line_3d{start = self.min, finish = Vector3(self.min.x, self.max.y, self.min.z)}
-- draw_line_3d{start = self.min, finish = Vector3(self.min.x, self.min.y, self.max.z)}
end
return AABB