'\" te .\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved .TH mlib_GraphicsDrawTriangleStripSet 3MLIB "2 Mar 2007" "SunOS 5.11" "mediaLib Library Functions" .SH NAME mlib_GraphicsDrawTriangleStripSet, mlib_GraphicsDrawTriangleStripSet_8, mlib_GraphicsDrawTriangleStripSet_32, mlib_GraphicsDrawTriangleStripSet_X_8, mlib_GraphicsDrawTriangleStripSet_X_32, mlib_GraphicsDrawTriangleStripSet_A_8, mlib_GraphicsDrawTriangleStripSet_A_32, mlib_GraphicsDrawTriangleStripSet_B_8, mlib_GraphicsDrawTriangleStripSet_B_32, mlib_GraphicsDrawTriangleStripSet_G_8, mlib_GraphicsDrawTriangleStripSet_G_32, mlib_GraphicsDrawTriangleStripSet_Z_8, mlib_GraphicsDrawTriangleStripSet_Z_32, mlib_GraphicsDrawTriangleStripSet_AB_8, mlib_GraphicsDrawTriangleStripSet_AB_32, mlib_GraphicsDrawTriangleStripSet_ABG_8, mlib_GraphicsDrawTriangleStripSet_ABG_32, mlib_GraphicsDrawTriangleStripSet_ABGZ_8, mlib_GraphicsDrawTriangleStripSet_ABGZ_32, mlib_GraphicsDrawTriangleStripSet_ABZ_8, mlib_GraphicsDrawTriangleStripSet_ABZ_32, mlib_GraphicsDrawTriangleStripSet_AG_8, mlib_GraphicsDrawTriangleStripSet_AG_32, mlib_GraphicsDrawTriangleStripSet_AGZ_8, mlib_GraphicsDrawTriangleStripSet_AGZ_32, mlib_GraphicsDrawTriangleStripSet_AZ_8, mlib_GraphicsDrawTriangleStripSet_AZ_32, mlib_GraphicsDrawTriangleStripSet_BG_8, mlib_GraphicsDrawTriangleStripSet_BG_32, mlib_GraphicsDrawTriangleStripSet_BGZ_8, mlib_GraphicsDrawTriangleStripSet_BGZ_32, mlib_GraphicsDrawTriangleStripSet_BZ_8, mlib_GraphicsDrawTriangleStripSet_BZ_32, mlib_GraphicsDrawTriangleStripSet_GZ_8, mlib_GraphicsDrawTriangleStripSet_GZ_32 \- draw triangle set where the first side of each member is common to the second side of the previous member .SH SYNOPSIS .LP .nf cc [ \fIflag\fR... ] \fIfile\fR... \fB-lmlib\fR [ \fIlibrary\fR... ] #include \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_X_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIc2\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_X_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIc2\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_A_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_A_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_B_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_B_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_G_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_G_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_Z_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_Z_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_AB_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_AB_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_ABG_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_ABG_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_ABGZ_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_ABGZ_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_ABZ_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_ABZ_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_AG_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_AG_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_AGZ_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_AGZ_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_AZ_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_AZ_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_BG_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_BG_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_BGZ_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_BGZ_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_BZ_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_BZ_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIa\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_GZ_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR); .fi .LP .nf \fBmlib_status\fR \fBmlib_GraphicsDrawTriangleStripSet_GZ_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_image *\fR\fIzbuffer\fR, \fBconst mlib_s16 *\fR\fIx\fR, \fBconst mlib_s16 *\fR\fIy\fR, \fBconst mlib_s16 *\fR\fIz\fR, \fBmlib_s32\fR \fInpoints\fR, \fBconst mlib_s32 *\fR\fIc\fR); .fi .SH DESCRIPTION .sp .LP Each of the \fBmlib_GraphicsDrawTriangleStripSet_*()\fR functions draws a set of triangles with vertices at \fB{(x1,y1), (x2,y2), (x3,y3)}\fR, \fB{(x2,y2), (x3,y3), (x4,y4)}\fR, ..., and \fB{(xn-2,yn-2), (xn-1,yn-1), (xn,yn)}\fR. .sp .LP Each of the \fBmlib_GraphicsDrawTriangleStripSet_X_*()\fR functions draws a set of triangles in Xor mode as follows: .sp .in +2 .nf data[x,y] ^= c ^ c2 .fi .in -2 .sp .LP Each of the \fBmlib_GraphicsDrawTriangleStripSet_A_*()\fR functions draws a set of triangles with antialiasing. .sp .LP Each of the \fBmlib_GraphicsDrawTriangleStripSet_B_*()\fR functions draws a set of triangles with alpha blending as follows: .sp .in +2 .nf data[x,y] = (data[x,y] * (255 - a) + c * a) / 255 .fi .in -2 .sp .LP Each of the \fBmlib_GraphicsDrawTriangleStripSet_G_*()\fR functions draws a set of triangles with Gouraud shading. .sp .LP Each of the \fBmlib_GraphicsDrawTriangleStripSet_Z_*()\fR functions draws a set of triangles with Z buffering. .sp .LP Each of the other functions draws a set of triangles with a combination of two or more features like antialiasing (A), alpha blending (B), Gouraud shading (G), and Z buffering (Z). .SH PARAMETERS .sp .LP Each of the functions takes some of the following arguments: .sp .ne 2 .mk .na \fB\fIbuffer\fR\fR .ad .RS 11n .rt Pointer to the image into which the function is drawing. .RE .sp .ne 2 .mk .na \fB\fIzbuffer\fR\fR .ad .RS 11n .rt Pointer to the image that holds the Z buffer. .RE .sp .ne 2 .mk .na \fB\fIx\fR\fR .ad .RS 11n .rt Pointer to array of X coordinates of the points. .RE .sp .ne 2 .mk .na \fB\fIy\fR\fR .ad .RS 11n .rt Pointer to array of Y coordinates of the points. .RE .sp .ne 2 .mk .na \fB\fIz\fR\fR .ad .RS 11n .rt Pointer to array of Z coordinates of the points. .RE .sp .ne 2 .mk .na \fB\fInpoints\fR\fR .ad .RS 11n .rt Number of points in the arrays. .RE .sp .ne 2 .mk .na \fB\fIc\fR\fR .ad .RS 11n .rt Color used in the drawing, or pointer to array of colors of the points in the case of Gouraud shading. .RE .sp .ne 2 .mk .na \fB\fIc2\fR\fR .ad .RS 11n .rt Alternation color. .RE .sp .ne 2 .mk .na \fB\fIa\fR\fR .ad .RS 11n .rt Alpha value for blending. \fB0 \(<= a \(<= 255\fR. .RE .SH RETURN VALUES .sp .LP Each of the functions returns \fBMLIB_SUCCESS\fR if successful. Otherwise it returns \fBMLIB_FAILURE\fR. .SH ATTRIBUTES .sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . ATTRIBUTE TYPEATTRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelMT-Safe .TE .SH SEE ALSO .sp .LP \fBmlib_GraphicsDrawTriangle\fR(3MLIB), \fBmlib_GraphicsDrawTriangleSet\fR(3MLIB), \fBmlib_GraphicsDrawTriangleFanSet\fR(3MLIB), \fBattributes\fR(5)