TINYGL: Refactored while loops into for loops.

This commit is contained in:
Stefano Musumeci 2014-08-09 13:07:46 +02:00
parent 13698796ec
commit 91dc7904f3

View file

@ -395,19 +395,18 @@ void RasterizationDrawCall::execute(bool restoreState) const {
} }
break; break;
case TGL_QUAD_STRIP: case TGL_QUAD_STRIP:
while (n >= 4) { for( ; n >= 4; n -= 2) {
gl_draw_triangle(c, &c->vertex[0], &c->vertex[1], &c->vertex[2]); gl_draw_triangle(c, &c->vertex[0], &c->vertex[1], &c->vertex[2]);
gl_draw_triangle(c, &c->vertex[1], &c->vertex[3], &c->vertex[2]); gl_draw_triangle(c, &c->vertex[1], &c->vertex[3], &c->vertex[2]);
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++) {
c->vertex[i] = c->vertex[i + 2]; c->vertex[i] = c->vertex[i + 2];
}
n -= 2; n -= 2;
} }
break; break;
case TGL_POLYGON: { case TGL_POLYGON: {
int i = c->vertex_cnt; for (int i = c->vertex_cnt; i >= 3; i--) {
while (i >= 3) { gl_draw_triangle(c, &c->vertex[i - 1], &c->vertex[0], &c->vertex[i - 2]);
i--;
gl_draw_triangle(c, &c->vertex[i], &c->vertex[0], &c->vertex[i - 1]);
} }
break; break;
} }