void glKosModVolume9f(GLfloat ax, GLfloat ay, GLfloat az, GLfloat bx, GLfloat by, GLfloat bz, GLfloat cx, GLfloat cy, GLfloat cz) { assert_msg(0,"not implemented"); vol_vbuf.flags = PVR_CMD_VERTEX_EOL; vol_vbuf.ax = ax; vol_vbuf.ay = ay; vol_vbuf.az = az; vol_vbuf.bx = bx; vol_vbuf.by = by; vol_vbuf.bz = bz; vol_vbuf.cx = cx; vol_vbuf.cy = cy; vol_vbuf.cz = cz; mat_transform((vector_t*)&vol_vbuf.ax, (vector_t*)&vol_xbuf.ax, 3, sizeof(vector_t)); /* Can't use the alternating store queues cuz we're sending * 64 bytes at once with this vertex type */ vol_xbuf.flags = vol_vbuf.flags; vol_xbuf.d1 = vol_xbuf.d2 = vol_xbuf.d3 = 0; vol_xbuf.d4 = vol_xbuf.d5 = vol_xbuf.d6 = 0; pvr_prim(&vol_xbuf, sizeof(pvr_modifier_vol_t)); //printf("[%2.2f, %2.2f]\n", cz, vol_xbuf.cz); }
void mesh_transform_all_vertices(struct mesh *mesh, const struct matrix *m) { struct vertex *v, *end; end = &mesh->vtx[mesh->nvtx]; for (v = mesh->vtx; v != end; v++) mat_transform(&v->pos, m); }