12#define ZB_POINT_Z_FRAC_BITS 14
14#define ZB_POINT_S_MIN ( (1<<13) )
15#define ZB_POINT_S_MAX ( (1<<22)-(1<<13) )
16#define ZB_POINT_T_MIN ( (1<<21) )
17#define ZB_POINT_T_MAX ( (1<<30)-(1<<21) )
19#define ZB_POINT_RED_MIN ( (1<<10) )
20#define ZB_POINT_RED_MAX ( (1<<16)-(1<<10) )
21#define ZB_POINT_GREEN_MIN ( (1<<9) )
22#define ZB_POINT_GREEN_MAX ( (1<<16)-(1<<9) )
23#define ZB_POINT_BLUE_MIN ( (1<<10) )
24#define ZB_POINT_BLUE_MAX ( (1<<16)-(1<<10) )
27#define ZB_MODE_5R6G5B 1
28#define ZB_MODE_INDEX 2
30#define ZB_MODE_RGB24 4
31#define ZB_NB_COLORS 225
33#if TGL_FEATURE_RENDER_BITS == 15
35#define RGB_TO_PIXEL(r,g,b) \
36 ((((r) >> 1) & 0x7c00) | (((g) >> 6) & 0x03e0) | ((b) >> 11))
37typedef unsigned short PIXEL;
43#elif TGL_FEATURE_RENDER_BITS == 16
46#define RGB_TO_PIXEL(r,g,b) \
47 (((r) & 0xF800) | (((g) >> 5) & 0x07E0) | ((b) >> 11))
52#elif TGL_FEATURE_RENDER_BITS == 24
54#define RGB_TO_PIXEL(r,g,b) \
55 ((((r) << 8) & 0xff0000) | ((g) & 0xff00) | ((b) >> 8))
56typedef unsigned char PIXEL;
60#elif TGL_FEATURE_RENDER_BITS == 32
62#define RGB_TO_PIXEL(r,g,b) \
63 ((((r) << 8) & 0xff0000) | ((g) & 0xff00) | ((b) >> 8))
64typedef unsigned int PIXEL;
70#error Incorrect number of bits per pixel
101 unsigned char *color_indexes,
110 int clear_color,
int r,
int g,
int b);
117 unsigned char *color_indexes,
int *color_table);
int frame_buffer_allocated
void ZB_setTexture(ZBuffer *zb, PIXEL *texture)
void ZB_ditherFrameBuffer(ZBuffer *zb, unsigned char *dest, int linesize)
void ZB_plot(ZBuffer *zb, ZBufferPoint *p)
void ZB_fillTriangleMappingPerspective(ZBuffer *zb, ZBufferPoint *p0, ZBufferPoint *p1, ZBufferPoint *p2)
void ZB_fillTriangleFlat(ZBuffer *zb, ZBufferPoint *p1, ZBufferPoint *p2, ZBufferPoint *p3)
void ZB_initDither(ZBuffer *zb, int nb_colors, unsigned char *color_indexes, int *color_table)
void ZB_close(ZBuffer *zb)
void ZB_fillTriangleMapping(ZBuffer *zb, ZBufferPoint *p1, ZBufferPoint *p2, ZBufferPoint *p3)
void ZB_clear(ZBuffer *zb, int clear_z, int z, int clear_color, int r, int g, int b)
void(* ZB_fillTriangleFunc)(ZBuffer *, ZBufferPoint *, ZBufferPoint *, ZBufferPoint *)
void ZB_copyFrameBuffer(ZBuffer *zb, void *buf, int linesize)
void * gl_zalloc(int size)
void ZB_fillTriangleSmooth(ZBuffer *zb, ZBufferPoint *p1, ZBufferPoint *p2, ZBufferPoint *p3)
void ZB_line_z(ZBuffer *zb, ZBufferPoint *p1, ZBufferPoint *p2)
void * gl_malloc(int size)
void ZB_line(ZBuffer *zb, ZBufferPoint *p1, ZBufferPoint *p2)
void ZB_resize(ZBuffer *zb, void *frame_buffer, int xsize, int ysize)
ZBuffer * ZB_open(int xsize, int ysize, int mode, int nb_colors, unsigned char *color_indexes, int *color_table, void *frame_buffer)
void ZB_closeDither(ZBuffer *zb)