some work on x11 ext

This commit is contained in:
veclavtlica
2026-10-13 04:30:06 +03:00
parent 964e623644
commit 5789cafd4e
13 changed files with 262 additions and 144 deletions
+27 -26
View File
@@ -29,36 +29,37 @@ com_def_export_sym("plr_draw_screen") void plr_draw_screen(
}
}
com_mat_t proj = com_mat_perspective(COM_CFG_WIDTH, COM_CFG_HEIGHT, 1,
100 * COM_FIX_FRACUNIT, COM_FIX_PIHALF);
com_mat_t view = com_mat_look_at(com_vec_from(0, 0, 0),
com_vec_from(0, COM_FIX_FRACUNIT, 0),
com_vec_from(-COM_FIX_FRACUNIT, 0, 0));
com_mat_t mvp = com_mat_reoder(com_mat_mul(proj, view));
// com_mat_t proj = com_mat_perspective(COM_CFG_WIDTH, COM_CFG_HEIGHT, 1,
// 100 * COM_FIX_FRACUNIT,
// COM_FIX_PIHALF);
// com_mat_t view = com_mat_look_at(com_vec_from(0, 0, 0),
// com_vec_from(0, COM_FIX_FRACUNIT, 0),
// com_vec_from(-COM_FIX_FRACUNIT, 0, 0));
// com_mat_t mvp = com_mat_reoder(com_mat_mul(proj, view));
com_vec_t v0 = com_vec_from(0 * COM_FIX_FRACUNIT, 0, 1 * COM_FIX_FRACUNIT);
com_vec_t v1 = com_vec_from(1 * COM_FIX_FRACUNIT, 1 * COM_FIX_FRACUNIT,
1 * COM_FIX_FRACUNIT);
com_vec_t v2 = com_vec_from(1 * COM_FIX_FRACUNIT, 1 * COM_FIX_FRACUNIT,
1 * COM_FIX_FRACUNIT);
com_vec_t v3 = com_vec_from(1 * COM_FIX_FRACUNIT, 1 * COM_FIX_FRACUNIT,
-1 * COM_FIX_FRACUNIT);
// com_vec_t v0 = com_vec_from(0 * COM_FIX_FRACUNIT, 0, 1 * COM_FIX_FRACUNIT);
// com_vec_t v1 = com_vec_from(1 * COM_FIX_FRACUNIT, 1 * COM_FIX_FRACUNIT,
// 1 * COM_FIX_FRACUNIT);
// com_vec_t v2 = com_vec_from(1 * COM_FIX_FRACUNIT, 1 * COM_FIX_FRACUNIT,
// 1 * COM_FIX_FRACUNIT);
// com_vec_t v3 = com_vec_from(1 * COM_FIX_FRACUNIT, 1 * COM_FIX_FRACUNIT,
// -1 * COM_FIX_FRACUNIT);
com_pnt_t uv0 = com_pnt_from(0 * COM_FIX_FRACUNIT, 0 * COM_FIX_FRACUNIT);
com_pnt_t uv1 = com_pnt_from(1 * COM_FIX_FRACUNIT, 0 * COM_FIX_FRACUNIT);
com_pnt_t uv2 = com_pnt_from(1 * COM_FIX_FRACUNIT, 1 * COM_FIX_FRACUNIT);
com_pnt_t uv3 = com_pnt_from(0 * COM_FIX_FRACUNIT, 1 * COM_FIX_FRACUNIT);
// com_pnt_t uv0 = com_pnt_from(0 * COM_FIX_FRACUNIT, 0 * COM_FIX_FRACUNIT);
// com_pnt_t uv1 = com_pnt_from(1 * COM_FIX_FRACUNIT, 0 * COM_FIX_FRACUNIT);
// com_pnt_t uv2 = com_pnt_from(1 * COM_FIX_FRACUNIT, 1 * COM_FIX_FRACUNIT);
// com_pnt_t uv3 = com_pnt_from(0 * COM_FIX_FRACUNIT, 1 * COM_FIX_FRACUNIT);
com_vec_t c0 = com_gem_vec_project_clip(mvp, v0);
com_vec_t c1 = com_gem_vec_project_clip(mvp, v1);
com_vec_t c2 = com_gem_vec_project_clip(mvp, v2);
com_vec_t c3 = com_gem_vec_project_clip(mvp, v3);
// com_vec_t c0 = com_gem_vec_project_clip(mvp, v0);
// com_vec_t c1 = com_gem_vec_project_clip(mvp, v1);
// com_vec_t c2 = com_gem_vec_project_clip(mvp, v2);
// com_vec_t c3 = com_gem_vec_project_clip(mvp, v3);
com_pnt_t p0, p1, p2, p3;
uint8_t cc0 = com_gem_clip_vis_project(c0, &p0);
uint8_t cc1 = com_gem_clip_vis_project(c1, &p1);
uint8_t cc2 = com_gem_clip_vis_project(c2, &p2);
uint8_t cc3 = com_gem_clip_vis_project(c3, &p3);
// com_pnt_t p0, p1, p2, p3;
// uint8_t cc0 = com_gem_clip_vis_project(c0, &p0);
// uint8_t cc1 = com_gem_clip_vis_project(c1, &p1);
// uint8_t cc2 = com_gem_clip_vis_project(c2, &p2);
// uint8_t cc3 = com_gem_clip_vis_project(c3, &p3);
// com_std_printf("%i, %i\n", p0.a[0], p0.a[1]);
// com_std_printf("%i, %i\n", p1.a[0], p1.a[1]);