draw debug lines on screen canvas
This commit is contained in:
parent
e91a66f5b3
commit
808e106f78
30
src/user.c
30
src/user.c
@ -348,39 +348,39 @@ INTERNAL struct v2 view_inverse_xform_basis_v2(struct view view, struct v2 p)
|
||||
/* TODO: remove this (testing) */
|
||||
INTERNAL void debug_draw_xform(struct xform xf)
|
||||
{
|
||||
f32 thickness = 2.f / PIXELS_PER_UNIT / L.world_view.zoom;
|
||||
f32 arrowhead_len = 15.f / PIXELS_PER_UNIT / L.world_view.zoom;
|
||||
f32 thickness = 2.f;
|
||||
f32 arrowhead_len = 15.f;
|
||||
u32 color = RGBA_F(0, 1, 1, 0.3);
|
||||
u32 color_x = RGBA_F(1, 0, 0, 0.3);
|
||||
u32 color_y = RGBA_F(0, 1, 0, 0.3);
|
||||
|
||||
struct v2 pos = xf.og;
|
||||
struct v2 x_ray = xform_get_right(xf);
|
||||
struct v2 y_ray = xform_get_up(xf);
|
||||
struct v2 pos = view_xform_v2(L.world_view, xf.og);
|
||||
struct v2 x_ray = view_xform_basis_v2(L.world_view, xform_get_right(xf));
|
||||
struct v2 y_ray = view_xform_basis_v2(L.world_view, xform_get_up(xf));
|
||||
|
||||
struct quad quad = quad_from_rect(RECT(0, 0, 1, -1));
|
||||
quad = quad_mul_xform(quad_scale(quad, 0.075), xf);
|
||||
|
||||
draw_solid_arrow_ray(L.world_canvas, pos, x_ray, thickness, arrowhead_len, color_x);
|
||||
draw_solid_arrow_ray(L.world_canvas, pos, y_ray, thickness, arrowhead_len, color_y);
|
||||
draw_solid_quad(L.world_canvas, quad, color);
|
||||
draw_solid_arrow_ray(L.screen_canvas, pos, x_ray, thickness, arrowhead_len, color_x);
|
||||
draw_solid_arrow_ray(L.screen_canvas, pos, y_ray, thickness, arrowhead_len, color_y);
|
||||
draw_solid_quad(L.screen_canvas, quad, color);
|
||||
}
|
||||
|
||||
/* TODO: remove this (testing) */
|
||||
INTERNAL void debug_draw_movement(struct entity *ent)
|
||||
{
|
||||
f32 thickness = 2.f / PIXELS_PER_UNIT / L.world_view.zoom;
|
||||
f32 arrow_len = 15.f / PIXELS_PER_UNIT / L.world_view.zoom;
|
||||
f32 thickness = 2.f;
|
||||
f32 arrow_len = 15.f;
|
||||
|
||||
u32 color_vel = RGBA_F(1, 0.5, 0, 1);
|
||||
u32 color_acc = RGBA_F(1, 1, 0.5, 1);
|
||||
|
||||
struct v2 pos = ent->world_xform.og;
|
||||
struct v2 vel_ray = ent->velocity;
|
||||
struct v2 acc_ray = ent->acceleration;
|
||||
struct v2 pos = view_xform_v2(L.world_view, ent->world_xform.og);
|
||||
struct v2 vel_ray = view_xform_basis_v2(L.world_view, ent->velocity);
|
||||
struct v2 acc_ray = view_xform_basis_v2(L.world_view, ent->acceleration);
|
||||
|
||||
draw_solid_arrow_ray(L.world_canvas, pos, vel_ray, thickness, arrow_len, color_vel);
|
||||
draw_solid_arrow_ray(L.world_canvas, pos, acc_ray, thickness, arrow_len, color_acc);
|
||||
draw_solid_arrow_ray(L.screen_canvas, pos, vel_ray, thickness, arrow_len, color_vel);
|
||||
draw_solid_arrow_ray(L.screen_canvas, pos, acc_ray, thickness, arrow_len, color_acc);
|
||||
}
|
||||
|
||||
INTERNAL void user_update(void)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user