[Piglit] [PATCH 03/18] util: Draw rectangles using triangle strips instead of quads.
Brian Paul
brianp at vmware.com
Tue Jun 11 07:50:46 PDT 2013
On 06/03/2013 06:39 AM, Fabian Bieler wrote:
> This is usefull for core profile OpenGL contexts and geometry shaders.
> ---
> tests/util/piglit-util-gl.c | 22 +++++++++++-----------
> 1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/tests/util/piglit-util-gl.c b/tests/util/piglit-util-gl.c
> index 0a56582..04c36bb 100644
> --- a/tests/util/piglit-util-gl.c
> +++ b/tests/util/piglit-util-gl.c
> @@ -855,11 +855,11 @@ piglit_draw_rect(float x, float y, float w, float h)
> verts[1][1] = y;
> verts[1][2] = 0.0;
> verts[1][3] = 1.0;
> - verts[2][0] = x + w;
> + verts[2][0] = x;
> verts[2][1] = y + h;
> verts[2][2] = 0.0;
> verts[2][3] = 1.0;
> - verts[3][0] = x;
> + verts[3][0] = x + w;
> verts[3][1] = y + h;
> verts[3][2] = 0.0;
> verts[3][3] = 1.0;
> @@ -867,7 +867,7 @@ piglit_draw_rect(float x, float y, float w, float h)
> glVertexPointer(4, GL_FLOAT, 0, verts);
> glEnableClientState(GL_VERTEX_ARRAY);
>
> - glDrawArrays(GL_QUADS, 0, 4);
> + glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
>
> glDisableClientState(GL_VERTEX_ARRAY);
> }
> @@ -888,11 +888,11 @@ piglit_draw_rect_z(float z, float x, float y, float w, float h)
> verts[1][1] = y;
> verts[1][2] = z;
> verts[1][3] = 1.0;
> - verts[2][0] = x + w;
> + verts[2][0] = x;
> verts[2][1] = y + h;
> verts[2][2] = z;
> verts[2][3] = 1.0;
> - verts[3][0] = x;
> + verts[3][0] = x + w;
> verts[3][1] = y + h;
> verts[3][2] = z;
> verts[3][3] = 1.0;
> @@ -900,7 +900,7 @@ piglit_draw_rect_z(float z, float x, float y, float w, float h)
> glVertexPointer(4, GL_FLOAT, 0, verts);
> glEnableClientState(GL_VERTEX_ARRAY);
>
> - glDrawArrays(GL_QUADS, 0, 4);
> + glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
>
> glDisableClientState(GL_VERTEX_ARRAY);
> }
> @@ -928,17 +928,17 @@ piglit_draw_rect_tex(float x, float y, float w, float h,
> verts[1][3] = 1.0;
> tex[1][0] = tx + tw;
> tex[1][1] = ty;
> - verts[2][0] = x + w;
> + verts[2][0] = x;
> verts[2][1] = y + h;
> verts[2][2] = 0.0;
> verts[2][3] = 1.0;
> - tex[2][0] = tx + tw;
> + tex[2][0] = tx;
> tex[2][1] = ty + th;
> - verts[3][0] = x;
> + verts[3][0] = x + w;
> verts[3][1] = y + h;
> verts[3][2] = 0.0;
> verts[3][3] = 1.0;
> - tex[3][0] = tx;
> + tex[3][0] = tx + tw;
> tex[3][1] = ty + th;
>
> glVertexPointer(4, GL_FLOAT, 0, verts);
> @@ -946,7 +946,7 @@ piglit_draw_rect_tex(float x, float y, float w, float h,
> glEnableClientState(GL_VERTEX_ARRAY);
> glEnableClientState(GL_TEXTURE_COORD_ARRAY);
>
> - glDrawArrays(GL_QUADS, 0, 4);
> + glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
>
> glDisableClientState(GL_VERTEX_ARRAY);
> glDisableClientState(GL_TEXTURE_COORD_ARRAY);
>
Reviewed-by: Brian Paul <brianp at vmware.com>
More information about the Piglit
mailing list