Current File : //usr/share/man/man3mlib/mlib_GraphicsDrawTriangle.3mlib
'\" te
.\" Copyright (c) 2007, Sun Microsystems, Inc.  All Rights Reserved 
.TH mlib_GraphicsDrawTriangle 3MLIB "2 Mar 2007" "SunOS 5.11" "mediaLib Library Functions"
.SH NAME
mlib_GraphicsDrawTriangle, mlib_GraphicsDrawTriangle_8, mlib_GraphicsDrawTriangle_32, mlib_GraphicsDrawTriangle_X_8, mlib_GraphicsDrawTriangle_X_32, mlib_GraphicsDrawTriangle_A_8, mlib_GraphicsDrawTriangle_A_32, mlib_GraphicsDrawTriangle_B_8, mlib_GraphicsDrawTriangle_B_32, mlib_GraphicsDrawTriangle_G_8, mlib_GraphicsDrawTriangle_G_32, mlib_GraphicsDrawTriangle_Z_8, mlib_GraphicsDrawTriangle_Z_32, mlib_GraphicsDrawTriangle_AB_8, mlib_GraphicsDrawTriangle_AB_32, mlib_GraphicsDrawTriangle_ABG_8, mlib_GraphicsDrawTriangle_ABG_32, mlib_GraphicsDrawTriangle_ABGZ_8, mlib_GraphicsDrawTriangle_ABGZ_32, mlib_GraphicsDrawTriangle_ABZ_8, mlib_GraphicsDrawTriangle_ABZ_32, mlib_GraphicsDrawTriangle_AG_8, mlib_GraphicsDrawTriangle_AG_32, mlib_GraphicsDrawTriangle_AGZ_8, mlib_GraphicsDrawTriangle_AGZ_32, mlib_GraphicsDrawTriangle_AZ_8, mlib_GraphicsDrawTriangle_AZ_32, mlib_GraphicsDrawTriangle_BG_8, mlib_GraphicsDrawTriangle_BG_32, mlib_GraphicsDrawTriangle_BGZ_8, mlib_GraphicsDrawTriangle_BGZ_32, mlib_GraphicsDrawTriangle_BZ_8, mlib_GraphicsDrawTriangle_BZ_32, mlib_GraphicsDrawTriangle_GZ_8, mlib_GraphicsDrawTriangle_GZ_32 \- draw triangle
.SH SYNOPSIS
.LP
.nf
cc [ \fIflag\fR... ] \fIfile\fR... \fB-lmlib\fR [ \fIlibrary\fR... ]
#include <mlib.h>

\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_s16\fR \fIx1\fR,
     \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR, 
     \fBmlib_s32\fR \fIc\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_s16\fR \fIx1\fR,
     \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s32\fR \fIc\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_X_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_s16\fR \fIx1\fR,
     \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIc2\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_X_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_s16\fR \fIx1\fR,
     \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIc2\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_A_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_s16\fR \fIx1\fR,
     \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s32\fR \fIc\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_A_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_s16\fR \fIx1\fR,
     \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s32\fR \fIc\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_B_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_s16\fR \fIx1\fR,
     \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_B_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_s16\fR \fIx1\fR,
     \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_G_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_s16\fR \fIx1\fR,
     \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s32\fR \fIc1\fR, \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_G_32\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_s16\fR \fIx1\fR,
     \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s32\fR \fIc1\fR, \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_Z_8\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR,
     \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR, \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_Z_32\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR,
     \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR, \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_AB_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_s16\fR \fIx1\fR,
     \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_AB_32\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR,
     \fBmlib_s16\fR \fIy3\fR, \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_ABG_8\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR,
     \fBmlib_s16\fR \fIy3\fR, \fBmlib_s32\fR \fIc1\fR, \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR, \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_ABG_32\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR,
     \fBmlib_s16\fR \fIy3\fR, \fBmlib_s32\fR \fIc1\fR, \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR, \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_ABGZ_8\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc1\fR,
     \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR, \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_ABGZ_32\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc1\fR,
     \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR, \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_ABZ_8\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc\fR,
     \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_ABZ_32\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc\fR,
     \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_AG_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_s16\fR \fIx1\fR,
     \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s32\fR \fIc1\fR,\fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_AG_32\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR,
     \fBmlib_s16\fR \fIy3\fR, \fBmlib_s32\fR \fIc1\fR, \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_AGZ_8\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc1\fR,
     \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_AGZ_32\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc1\fR,
     \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_AZ_8\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR,
     \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR, \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_AZ_32\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_BG_8\fR(\fBmlib_image *\fR\fIbuffer\fR, \fBmlib_s16\fR \fIx1\fR,
     \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s32\fR \fIc1\fR, \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR, \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_BG_32\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIx3\fR,
     \fBmlib_s16\fR \fIy3\fR, \fBmlib_s32\fR \fIc1\fR, \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR, \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_BGZ_8\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc1\fR,
     \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR, \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_BGZ_32\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc1\fR,
     \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR, \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_BZ_8\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR,
     \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR, \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc\fR, \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_BZ_32\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc\fR,
     \fBmlib_s32\fR \fIa\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_GZ_8\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR,
     \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc1\fR, \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR);
.fi

.LP
.nf
\fBmlib_status\fR \fBmlib_GraphicsDrawTriangle_GZ_32\fR(\fBmlib_image *\fR\fIbuffer\fR,
     \fBmlib_image *\fR\fIzbuffer\fR, \fBmlib_s16\fR \fIx1\fR, \fBmlib_s16\fR \fIy1\fR, \fBmlib_s16\fR \fIz1\fR,
     \fBmlib_s16\fR \fIx2\fR, \fBmlib_s16\fR \fIy2\fR, \fBmlib_s16\fR \fIz2\fR, \fBmlib_s16\fR \fIx3\fR, \fBmlib_s16\fR \fIy3\fR,
     \fBmlib_s16\fR \fIz3\fR, \fBmlib_s32\fR \fIc1\fR,
     \fBmlib_s32\fR \fIc2\fR, \fBmlib_s32\fR \fIc3\fR);
.fi

.SH DESCRIPTION
.sp
.LP
Each of the \fBmlib_GraphicsDrawTriangle_*()\fR functions draws a triangle with the vertices at \fB(x1,y1)\fR, \fB(x2,y2)\fR, and \fB(x3,y3)\fR.
.sp
.LP
Each of the \fBmlib_GraphicsDrawTriangle_X_*()\fR functions draws a triangle in Xor mode as follows:
.sp
.in +2
.nf
    data[x,y] ^= c ^ c2
.fi
.in -2

.sp
.LP
Each of the \fBmlib_GraphicsDrawTriangle_A_*()\fR functions draws a triangle with antialiasing.
.sp
.LP
Each of the \fBmlib_GraphicsDrawTriangle_B_*()\fR functions draws a triangle 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_GraphicsDrawTriangle_G_*()\fR functions draws a triangle with Gouraud shading.
.sp
.LP
Each of the \fBmlib_GraphicsDrawTriangle_Z_*()\fR functions draws a triangle with Z buffering.
.sp
.LP
Each of the other functions draws a triangle 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\fIx1\fR\fR
.ad
.RS 11n
.rt  
X coordinate of the first vertex.
.RE

.sp
.ne 2
.mk
.na
\fB\fIy1\fR\fR
.ad
.RS 11n
.rt  
Y coordinate of the first vertex.
.RE

.sp
.ne 2
.mk
.na
\fB\fIz1\fR\fR
.ad
.RS 11n
.rt  
Z coordinate of the first vertex.
.RE

.sp
.ne 2
.mk
.na
\fB\fIx2\fR\fR
.ad
.RS 11n
.rt  
X coordinate of the second vertex.
.RE

.sp
.ne 2
.mk
.na
\fB\fIy2\fR\fR
.ad
.RS 11n
.rt  
Y coordinate of the second vertex.
.RE

.sp
.ne 2
.mk
.na
\fB\fIz2\fR\fR
.ad
.RS 11n
.rt  
Z coordinate of the second vertex.
.RE

.sp
.ne 2
.mk
.na
\fB\fIx3\fR\fR
.ad
.RS 11n
.rt  
X coordinate of the third vertex.
.RE

.sp
.ne 2
.mk
.na
\fB\fIy3\fR\fR
.ad
.RS 11n
.rt  
Y coordinate of the third vertex.
.RE

.sp
.ne 2
.mk
.na
\fB\fIz3\fR\fR
.ad
.RS 11n
.rt  
Z coordinate of the third vertex.
.RE

.sp
.ne 2
.mk
.na
\fB\fIc\fR\fR
.ad
.RS 11n
.rt  
Color used in the drawing.
.RE

.sp
.ne 2
.mk
.na
\fB\fIc1\fR\fR
.ad
.RS 11n
.rt  
Color of the first vertex.
.RE

.sp
.ne 2
.mk
.na
\fB\fIc2\fR\fR
.ad
.RS 11n
.rt  
Color of the second vertex, or the alternation color in Xor Mode.
.RE

.sp
.ne 2
.mk
.na
\fB\fIc3\fR\fR
.ad
.RS 11n
.rt  
Color of the third vertex.
.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_GraphicsFillTriangle\fR(3MLIB), \fBattributes\fR(5)