struct prim_header *header )
{
/* Window coords: */
- GLfloat *v0 = (GLfloat *)&(header->v[0]->data[0]);
- GLfloat *v1 = (GLfloat *)&(header->v[1]->data[0]);
- GLfloat *v2 = (GLfloat *)&(header->v[2]->data[0]);
+ const GLfloat *v0 = header->v[0]->data[0];
+ const GLfloat *v1 = header->v[1]->data[0];
+ const GLfloat *v2 = header->v[2]->data[0];
+ /* edge vectors e = v0 - v2, f = v1 - v2 */
GLfloat ex = v0[0] - v2[0];
GLfloat ey = v0[1] - v2[1];
GLfloat fx = v1[0] - v2[0];
GLfloat fy = v1[1] - v2[1];
+ /* det = cross(e,f).z */
header->det = ex * fy - ey * fx;
- _mesa_printf("%s %f\n", __FUNCTION__, header->det );
-
if (header->det != 0) {
/* non-zero area */
GLuint mode = (header->det < 0) ? PIPE_WINDING_CW : PIPE_WINDING_CCW;