[Piglit] [PATCH] Add utility function piglit_draw_triangle
Anuj Phogat
anuj.phogat at gmail.com
Tue Apr 17 07:16:21 PDT 2012
These utility functions to draw triangle would help in testing antialiasing
and depth related issues.
Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
---
tests/util/piglit-util-gl.c | 59 +++++++++++++++++++++++++++++++++++++++++++
tests/util/piglit-util.h | 4 +++
2 files changed, 63 insertions(+), 0 deletions(-)
diff --git a/tests/util/piglit-util-gl.c b/tests/util/piglit-util-gl.c
index 4270cd6..5aeacad 100644
--- a/tests/util/piglit-util-gl.c
+++ b/tests/util/piglit-util-gl.c
@@ -708,6 +708,65 @@ piglit_escape_exit_key(unsigned char key, int x, int y)
}
/**
+ * Convenience function to draw an axis aligned triangle.
+ */
+GLvoid
+piglit_draw_triangle(float x1, float y1, float x2, float y2,
+ float x3, float y3)
+{
+ float verts[3][4];
+
+ verts[0][0] = x1;
+ verts[0][1] = y1;
+ verts[0][2] = 0.0;
+ verts[0][3] = 1.0;
+ verts[1][0] = x2;
+ verts[1][1] = y2;
+ verts[1][2] = 0.0;
+ verts[1][3] = 1.0;
+ verts[2][0] = x3;
+ verts[2][1] = y3;
+ verts[2][2] = 0.0;
+ verts[2][3] = 1.0;
+
+ glVertexPointer(4, GL_FLOAT, 0, verts);
+ glEnableClientState(GL_VERTEX_ARRAY);
+
+ glDrawArrays(GL_TRIANGLES, 0, 3);
+
+ glDisableClientState(GL_VERTEX_ARRAY);
+}
+
+/**
+ * Convenience function to draw an axis aligned triangle at a given depth.
+ */
+GLvoid
+piglit_draw_triangle_z(float z, float x1, float y1, float x2, float y2,
+ float x3, float y3)
+{
+ float verts[3][4];
+
+ verts[0][0] = x1;
+ verts[0][1] = y1;
+ verts[0][2] = z;
+ verts[0][3] = 1.0;
+ verts[1][0] = x2;
+ verts[1][1] = y2;
+ verts[1][2] = z;
+ verts[1][3] = 1.0;
+ verts[2][0] = x3;
+ verts[2][1] = y3;
+ verts[2][2] = z;
+ verts[2][3] = 1.0;
+
+ glVertexPointer(4, GL_FLOAT, 0, verts);
+ glEnableClientState(GL_VERTEX_ARRAY);
+
+ glDrawArrays(GL_TRIANGLES, 0, 3);
+
+ glDisableClientState(GL_VERTEX_ARRAY);
+}
+/**
* Convenience function to draw an axis-aligned rectangle.
*/
GLvoid
diff --git a/tests/util/piglit-util.h b/tests/util/piglit-util.h
index ea35e64..f6758e3 100755
--- a/tests/util/piglit-util.h
+++ b/tests/util/piglit-util.h
@@ -234,6 +234,10 @@ int piglit_use_vertex_program(void);
void piglit_require_fragment_program(void);
void piglit_require_vertex_program(void);
GLuint piglit_compile_program(GLenum target, const char* text);
+GLvoid piglit_draw_triangle(float x1, float y1, float x2, float y2,
+ float x3, float y3);
+GLvoid piglit_draw_triangle_z(float z, float x1, float y1, float x2, float y2,
+ float x3, float y3);
GLvoid piglit_draw_rect(float x, float y, float w, float h);
GLvoid piglit_draw_rect_z(float z, float x, float y, float w, float h);
GLvoid piglit_draw_rect_tex(float x, float y, float w, float h,
--
1.7.7.6
More information about the Piglit
mailing list