Content-type: text/html
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_GraphicsFillTriangle_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangle_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangle_X_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c, mlib_s32 c2);
mlib_status mlib_GraphicsFillTriangle_X_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c, mlib_s32 c2);
mlib_status mlib_GraphicsFillTriangle_A_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangle_A_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangle_B_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_B_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_G_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3);
mlib_status mlib_GraphicsFillTriangle_G_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3);
mlib_status mlib_GraphicsFillTriangle_Z_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangle_Z_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangle_AB_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_AB_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_ABG_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_ABG_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_ABGZ_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_ABGZ_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_ABZ_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_ABZ_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_AG_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3);
mlib_status mlib_GraphicsFillTriangle_AG_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3);
mlib_status mlib_GraphicsFillTriangle_AGZ_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3);
mlib_status mlib_GraphicsFillTriangle_AGZ_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3);
mlib_status mlib_GraphicsFillTriangle_AZ_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangle_AZ_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c);
mlib_status mlib_GraphicsFillTriangle_BG_8(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_BG_32(mlib_image *buffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 x2, mlib_s16 y2, mlib_s16 x3, mlib_s16 y3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_BGZ_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_BGZ_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_BZ_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_BZ_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c, mlib_s32 a);
mlib_status mlib_GraphicsFillTriangle_GZ_8(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3);
mlib_status mlib_GraphicsFillTriangle_GZ_32(mlib_image *buffer, mlib_image *zbuffer, mlib_s16 x1, mlib_s16 y1, mlib_s16 z1, mlib_s16 x2, mlib_s16 y2, mlib_s16 z2, mlib_s16 x3, mlib_s16 y3, mlib_s16 z3, mlib_s32 c1, mlib_s32 c2, mlib_s32 c3);
Each of the mlib_GraphicsFillTriangle_*() functions draws a filled triangle with the vertices at (x1,y1), (x2,y2), and (x3,y3).
Each of the mlib_GraphicsFillTriangle_X_*() functions draws a filled triangle in Xor mode as follows:
data[x,y] ^= c ^ c2
Each of the mlib_GraphicsFillTriangle_A_*() functions draws a filled triangle with antialiasing.
Each of the mlib_GraphicsFillTriangle_B_*() functions draws a filled triangle with alpha blending as follows:
data[x,y] = (data[x,y] * (255 - a) + c * a) / 255
Each of the mlib_GraphicsFillTriangle_G_*() functions draws a filled triangle with Gouraud shading.
Each of the mlib_GraphicsFillTriangle_Z_*() functions draws a filled triangle with Z buffering.
Each of the other functions draws a filled triangle with a combination of two or more features like antialiasing (A), alpha blending (B), Gouraud shading (G), and Z buffering (Z).
Each of the functions takes some of the following arguments:
buffer
zbuffer
x1
y1
z1
x2
y2
z2
x3
y3
z3
c
c1
c2
c3
a
Each of the functions returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
|
mlib_GraphicsDrawTriangle(3MLIB), attributes(5)