mlib_GraphicsFillTriangleFanSet(3MLIB) mlib_GraphicsFillTriangleFanSet(3MLIB)
NAME
mlib_GraphicsFillTriangleFanSet, mlib_GraphicsFillTriangleFanSet_8, mlib_GraphicsFillTriangleFanSet_32, mlib_GraphicsFillTriangle-
FanSet_X_8, mlib_GraphicsFillTriangleFanSet_X_32, mlib_GraphicsFillTriangleFanSet_A_8, mlib_GraphicsFillTriangleFanSet_A_32, mlib_Graphics-
FillTriangleFanSet_B_8, mlib_GraphicsFillTriangleFanSet_B_32, mlib_GraphicsFillTriangleFanSet_G_8, mlib_GraphicsFillTriangleFanSet_G_32,
mlib_GraphicsFillTriangleFanSet_Z_8, mlib_GraphicsFillTriangleFanSet_Z_32, mlib_GraphicsFillTriangleFanSet_AB_8, mlib_GraphicsFillTriangle-
FanSet_AB_32, mlib_GraphicsFillTriangleFanSet_ABG_8, mlib_GraphicsFillTriangleFanSet_ABG_32, mlib_GraphicsFillTriangleFanSet_ABGZ_8,
mlib_GraphicsFillTriangleFanSet_ABGZ_32, mlib_GraphicsFillTriangleFanSet_ABZ_8, mlib_GraphicsFillTriangleFanSet_ABZ_32, mlib_GraphicsFill-
TriangleFanSet_AG_8, mlib_GraphicsFillTriangleFanSet_AG_32, mlib_GraphicsFillTriangleFanSet_AGZ_8, mlib_GraphicsFillTriangleFanSet_AGZ_32,
mlib_GraphicsFillTriangleFanSet_AZ_8, mlib_GraphicsFillTriangleFanSet_AZ_32, mlib_GraphicsFillTriangleFanSet_BG_8, mlib_GraphicsFillTrian-
gleFanSet_BG_32, mlib_GraphicsFillTriangleFanSet_BGZ_8, mlib_GraphicsFillTriangleFanSet_BGZ_32, mlib_GraphicsFillTriangleFanSet_BZ_8,
mlib_GraphicsFillTriangleFanSet_BZ_32, mlib_GraphicsFillTriangleFanSet_GZ_8, mlib_GraphicsFillTriangleFanSet_GZ_32 - draw filled triangle
set where all members of the set have a common vertex
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>
mlib_status mlib_GraphicsFillTriangleFanSet_8(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangleFanSet_32(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangleFanSet_X_8(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c,
mlib_s32 c2);
mlib_status mlib_GraphicsFillTriangleFanSet_X_32(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c,
mlib_s32 c2);
mlib_status mlib_GraphicsFillTriangleFanSet_A_8(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangleFanSet_A_32(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangleFanSet_B_8(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c,
mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_B_32(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c,
mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_G_8(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, const mlib_s32
*c);
mlib_status mlib_GraphicsFillTriangleFanSet_G_32(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, const mlib_s32
*c);
mlib_status mlib_GraphicsFillTriangleFanSet_Z_8(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangleFanSet_Z_32(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangleFanSet_AB_8(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c,
mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_AB_32(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, mlib_s32 c,
mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_ABG_8(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, const
mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_ABG_32(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, const
mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_ABGZ_8(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_ABGZ_32(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_ABZ_8(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_ABZ_32(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_AG_8(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, const mlib_s32
*c);
mlib_status mlib_GraphicsFillTriangleFanSet_AG_32(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, const
mlib_s32 *c);
mlib_status mlib_GraphicsFillTriangleFanSet_AGZ_8(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c);
mlib_status mlib_GraphicsFillTriangleFanSet_AGZ_32(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c);
mlib_status mlib_GraphicsFillTriangleFanSet_AZ_8(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangleFanSet_AZ_32(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangleFanSet_BG_8(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, const mlib_s32
*c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_BG_32(mlib_image *buffer, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 npoints, const
mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_BGZ_8(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_BGZ_32(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_BZ_8(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_BZ_32(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangleFanSet_GZ_8(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c);
mlib_status mlib_GraphicsFillTriangleFanSet_GZ_32(mlib_image *buffer, mlib_image *zbuffer, const mlib_s16 *x, const mlib_s16 *y, const
mlib_s16 *z, mlib_s32 npoints, const mlib_s32 *c);
Each of the mlib_GraphicsFillTriangleFanSet_*() functions draws a set of filled triangles with vertices at {(x1,y1), (x2,y2), (x3,y3)},
{(x1,y1), (x3,y3), (x4,y4)}, ..., and {(x1,y1), (xn-1,yn-1), (xn,yn)}.
Each of the mlib_GraphicsFillTriangleFanSet_X_*() functions draws a set of filled triangles in Xor mode as follows:
data[x,y] ^= c ^ c2
Each of the mlib_GraphicsFillTriangleFanSet_A_*() functions draws a set of filled triangles with antialiasing.
Each of the mlib_GraphicsFillTriangleFanSet_B_*() functions draws a set of filled triangles with alpha blending as follows:
data[x,y] = (data[x,y] * (255 - a) + c * a) / 255
Each of the mlib_GraphicsFillTriangleFanSet_G_*() functions draws a set of filled triangles with Gouraud shading.
Each of the mlib_GraphicsFillTriangleFanSet_Z_*() functions draws a set of filled triangles with Z buffering.
Each of the other functions draws a set of filled triangles with a combination of two or more features like antialiasing (A), alpha blend-
ing (B), Gouraud shading (G), and Z buffering (Z).
Each of the functions takes some of the following arguments:
buffer Pointer to the image into which the function is drawing.
zbuffer Pointer to the image that holds the Z buffer.
x Pointer to array of X coordinates of the points.
y Pointer to array of Y coordinates of the points.
z Pointer to array of Z coordinates of the points.
npoints Number of points in the arrays.
c Color used in the drawing, or pointer to array of colors of the points in the case of Gouraud shading.
c2 Alternation color.
a Alpha value for blending. 0 <= a <= 255.
Each of the functions returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
mlib_GraphicsFillTriangle(3MLIB), mlib_GraphicsFillTriangleSet(3MLIB), mlib_GraphicsFillTriangleStripSet(3MLIB), attributes(5)
7 Mar 2005 mlib_GraphicsFillTriangleFanSet(3MLIB)