6.2 Spec 2: SH4 Math
D3-TUI will use SPECTRE’s SH4 math for vertex transformations:
/* In d3tui_render.c */
void d3tui_render_transform_vertices(d3tui_render_ctx_t *ctx,
d3tui_vertex_t *verts,
size_t count) {
sh_vec4_t *sh_verts = (sh_vec4_t *)malloc(count * sizeof(sh_vec4_t));
// Convert to SH4 format
for (size_t i = 0; i < count; i++) {
sh_verts[i][0] = verts[i].x;
sh_verts[i][1] = verts[i].y;
sh_verts[i][2] = verts[i].z;
sh_verts[i][3] = 1.0f;
}
// Transform using SPECTRE
sh_transform_points(sh_verts, sh_verts, count);
// Convert back
for (size_t i = 0; i < count; i++) {
verts[i].x = sh_verts[i][0];
verts[i].y = sh_verts[i][1];
verts[i].z = sh_verts[i][2];
}
free(sh_verts);
}