improve box drawing procedure

This commit is contained in:
opfez 2021-10-23 18:50:03 +02:00
parent 5677f0c7c6
commit dee6115dc9
1 changed files with 11 additions and 7 deletions

18
main.c
View File

@ -445,15 +445,19 @@ draw_box(rgb_t canvas[],
vec3_t points[8]
)
{
vec2_t prev = project(c, points[0]);
for (int i = 0; i < 8; i++) {
vec2_t p = project(c, points[i]);
uint16_t x = (uint16_t)p.x;
uint16_t y = (uint16_t)p.y;
vec2_t projected[8];
for (int i = 0; i < 8; i++)
projected[i] = project(c, points[i]);
draw_line(canvas, col, p, prev);
/* lines along x/y-axes */
for (int i = 0; i < 4; i++) {
draw_line(canvas, col, projected[i], projected[(i+1)]);
draw_line(canvas, col, projected[i+3], projected[(i+4)]);
}
prev = p;
/* lines along z-axis */
for (int i = 0; i < 4; i++) {
draw_line(canvas, col, projected[i], projected[i+4]);
}
}