diff options
-rw-r--r-- | src/mesa/pipe/draw/draw_cull.c | 4 | ||||
-rw-r--r-- | src/mesa/pipe/draw/draw_twoside.c | 4 | ||||
-rw-r--r-- | src/mesa/pipe/draw/draw_unfilled.c | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/src/mesa/pipe/draw/draw_cull.c b/src/mesa/pipe/draw/draw_cull.c index 8b2ac5ea5f..48a7f5dab8 100644 --- a/src/mesa/pipe/draw/draw_cull.c +++ b/src/mesa/pipe/draw/draw_cull.c @@ -78,10 +78,10 @@ static void cull_tri( struct draw_stage *stage, header->det = ex * fy - ey * fx; if (header->det != 0) { - /* if (det > 0 then Z points toward camera and triangle is + /* if (det < 0 then Z points toward camera and triangle is * counter-clockwise winding. */ - GLuint winding = (header->det > 0) ? PIPE_WINDING_CCW : PIPE_WINDING_CW; + GLuint winding = (header->det < 0) ? PIPE_WINDING_CCW : PIPE_WINDING_CW; if ((winding & cull_stage(stage)->winding) == 0) { /* triangle is not culled, pass to next stage */ diff --git a/src/mesa/pipe/draw/draw_twoside.c b/src/mesa/pipe/draw/draw_twoside.c index fdda6b362f..20b2b4a8aa 100644 --- a/src/mesa/pipe/draw/draw_twoside.c +++ b/src/mesa/pipe/draw/draw_twoside.c @@ -53,9 +53,9 @@ static void twoside_begin( struct draw_stage *stage ) /* * We'll multiply the primitive's determinant by this sign to determine * if the triangle is back-facing (negative). - * sign = 1 for CCW, -1 for CW + * sign = -1 for CCW, +1 for CW */ - twoside->sign = (stage->draw->setup.front_winding == PIPE_WINDING_CCW) ? 1 : -1; + twoside->sign = (stage->draw->setup.front_winding == PIPE_WINDING_CCW) ? -1 : 1; stage->next->begin( stage->next ); } diff --git a/src/mesa/pipe/draw/draw_unfilled.c b/src/mesa/pipe/draw/draw_unfilled.c index 82e8775f59..05242d8d10 100644 --- a/src/mesa/pipe/draw/draw_unfilled.c +++ b/src/mesa/pipe/draw/draw_unfilled.c @@ -119,7 +119,7 @@ static void unfilled_tri( struct draw_stage *stage, struct prim_header *header ) { struct unfilled_stage *unfilled = unfilled_stage(stage); - GLuint mode = unfilled->mode[header->det > 0.0]; + GLuint mode = unfilled->mode[header->det < 0.0]; switch (mode) { case PIPE_POLYGON_MODE_FILL: |