improve box drawing procedure
This commit is contained in:
parent
5677f0c7c6
commit
dee6115dc9
18
main.c
18
main.c
|
@ -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]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue