TinyGL 0.4.1 for MinGW
Data Structures | Macros | Typedefs | Functions
zbuffer.h File Reference
#include "zfeatures.h"

Go to the source code of this file.

Data Structures

struct  ZBuffer
 
struct  ZBufferPoint
 

Macros

#define ZB_Z_BITS   16
 
#define ZB_POINT_Z_FRAC_BITS   14
 
#define ZB_POINT_S_MIN   ( (1<<13) )
 
#define ZB_POINT_S_MAX   ( (1<<22)-(1<<13) )
 
#define ZB_POINT_T_MIN   ( (1<<21) )
 
#define ZB_POINT_T_MAX   ( (1<<30)-(1<<21) )
 
#define ZB_POINT_RED_MIN   ( (1<<10) )
 
#define ZB_POINT_RED_MAX   ( (1<<16)-(1<<10) )
 
#define ZB_POINT_GREEN_MIN   ( (1<<9) )
 
#define ZB_POINT_GREEN_MAX   ( (1<<16)-(1<<9) )
 
#define ZB_POINT_BLUE_MIN   ( (1<<10) )
 
#define ZB_POINT_BLUE_MAX   ( (1<<16)-(1<<10) )
 
#define ZB_MODE_5R6G5B   1 /* true color 16 bits */
 
#define ZB_MODE_INDEX   2 /* color index 8 bits */
 
#define ZB_MODE_RGBA   3 /* 32 bit rgba mode */
 
#define ZB_MODE_RGB24   4 /* 24 bit rgb mode */
 
#define ZB_NB_COLORS   225 /* number of colors for 8 bit display */
 
#define RGB_TO_PIXEL(r, g, b)    (((r) & 0xF800) | (((g) >> 5) & 0x07E0) | ((b) >> 11))
 
#define PSZB   2
 
#define PSZSH   4
 

Typedefs

typedef unsigned short PIXEL
 
typedef void(* ZB_fillTriangleFunc) (ZBuffer *, ZBufferPoint *, ZBufferPoint *, ZBufferPoint *)
 

Functions

ZBufferZB_open (int xsize, int ysize, int mode, int nb_colors, unsigned char *color_indexes, int *color_table, void *frame_buffer)
 
void ZB_close (ZBuffer *zb)
 
void ZB_resize (ZBuffer *zb, void *frame_buffer, int xsize, int ysize)
 
void ZB_clear (ZBuffer *zb, int clear_z, int z, int clear_color, int r, int g, int b)
 
void ZB_copyFrameBuffer (ZBuffer *zb, void *buf, int linesize)
 
void ZB_initDither (ZBuffer *zb, int nb_colors, unsigned char *color_indexes, int *color_table)
 
void ZB_closeDither (ZBuffer *zb)
 
void ZB_ditherFrameBuffer (ZBuffer *zb, unsigned char *dest, int linesize)
 
void ZB_plot (ZBuffer *zb, ZBufferPoint *p)
 
void ZB_line (ZBuffer *zb, ZBufferPoint *p1, ZBufferPoint *p2)
 
void ZB_line_z (ZBuffer *zb, ZBufferPoint *p1, ZBufferPoint *p2)
 
void ZB_setTexture (ZBuffer *zb, PIXEL *texture)
 
void ZB_fillTriangleFlat (ZBuffer *zb, ZBufferPoint *p1, ZBufferPoint *p2, ZBufferPoint *p3)
 
void ZB_fillTriangleSmooth (ZBuffer *zb, ZBufferPoint *p1, ZBufferPoint *p2, ZBufferPoint *p3)
 
void ZB_fillTriangleMapping (ZBuffer *zb, ZBufferPoint *p1, ZBufferPoint *p2, ZBufferPoint *p3)
 
void ZB_fillTriangleMappingPerspective (ZBuffer *zb, ZBufferPoint *p0, ZBufferPoint *p1, ZBufferPoint *p2)
 
void gl_free (void *p)
 
void * gl_malloc (int size)
 
void * gl_zalloc (int size)
 

Macro Definition Documentation

◆ PSZB

#define PSZB   2

Definition at line 49 of file zbuffer.h.

◆ PSZSH

#define PSZSH   4

Definition at line 50 of file zbuffer.h.

◆ RGB_TO_PIXEL

#define RGB_TO_PIXEL (   r,
  g,
 
)     (((r) & 0xF800) | (((g) >> 5) & 0x07E0) | ((b) >> 11))

Definition at line 46 of file zbuffer.h.

◆ ZB_MODE_5R6G5B

#define ZB_MODE_5R6G5B   1 /* true color 16 bits */

Definition at line 27 of file zbuffer.h.

◆ ZB_MODE_INDEX

#define ZB_MODE_INDEX   2 /* color index 8 bits */

Definition at line 28 of file zbuffer.h.

◆ ZB_MODE_RGB24

#define ZB_MODE_RGB24   4 /* 24 bit rgb mode */

Definition at line 30 of file zbuffer.h.

◆ ZB_MODE_RGBA

#define ZB_MODE_RGBA   3 /* 32 bit rgba mode */

Definition at line 29 of file zbuffer.h.

◆ ZB_NB_COLORS

#define ZB_NB_COLORS   225 /* number of colors for 8 bit display */

Definition at line 31 of file zbuffer.h.

◆ ZB_POINT_BLUE_MAX

#define ZB_POINT_BLUE_MAX   ( (1<<16)-(1<<10) )

Definition at line 24 of file zbuffer.h.

◆ ZB_POINT_BLUE_MIN

#define ZB_POINT_BLUE_MIN   ( (1<<10) )

Definition at line 23 of file zbuffer.h.

◆ ZB_POINT_GREEN_MAX

#define ZB_POINT_GREEN_MAX   ( (1<<16)-(1<<9) )

Definition at line 22 of file zbuffer.h.

◆ ZB_POINT_GREEN_MIN

#define ZB_POINT_GREEN_MIN   ( (1<<9) )

Definition at line 21 of file zbuffer.h.

◆ ZB_POINT_RED_MAX

#define ZB_POINT_RED_MAX   ( (1<<16)-(1<<10) )

Definition at line 20 of file zbuffer.h.

◆ ZB_POINT_RED_MIN

#define ZB_POINT_RED_MIN   ( (1<<10) )

Definition at line 19 of file zbuffer.h.

◆ ZB_POINT_S_MAX

#define ZB_POINT_S_MAX   ( (1<<22)-(1<<13) )

Definition at line 15 of file zbuffer.h.

◆ ZB_POINT_S_MIN

#define ZB_POINT_S_MIN   ( (1<<13) )

Definition at line 14 of file zbuffer.h.

◆ ZB_POINT_T_MAX

#define ZB_POINT_T_MAX   ( (1<<30)-(1<<21) )

Definition at line 17 of file zbuffer.h.

◆ ZB_POINT_T_MIN

#define ZB_POINT_T_MIN   ( (1<<21) )

Definition at line 16 of file zbuffer.h.

◆ ZB_POINT_Z_FRAC_BITS

#define ZB_POINT_Z_FRAC_BITS   14

Definition at line 12 of file zbuffer.h.

◆ ZB_Z_BITS

#define ZB_Z_BITS   16

Definition at line 10 of file zbuffer.h.

Typedef Documentation

◆ PIXEL

typedef unsigned short PIXEL

Definition at line 48 of file zbuffer.h.

◆ ZB_fillTriangleFunc

typedef void(* ZB_fillTriangleFunc) (ZBuffer *, ZBufferPoint *, ZBufferPoint *, ZBufferPoint *)

Definition at line 145 of file zbuffer.h.

Function Documentation

◆ gl_free()

void gl_free ( void *  p)

Definition at line 8 of file memory.c.

◆ gl_malloc()

void * gl_malloc ( int  size)

Definition at line 13 of file memory.c.

◆ gl_zalloc()

void * gl_zalloc ( int  size)

Definition at line 18 of file memory.c.

◆ ZB_clear()

void ZB_clear ( ZBuffer zb,
int  clear_z,
int  z,
int  clear_color,
int  r,
int  g,
int  b 
)

Definition at line 489 of file zbuffer.c.

◆ ZB_close()

void ZB_close ( ZBuffer zb)

Definition at line 75 of file zbuffer.c.

◆ ZB_closeDither()

void ZB_closeDither ( ZBuffer zb)

Definition at line 79 of file zdither.c.

◆ ZB_copyFrameBuffer()

void ZB_copyFrameBuffer ( ZBuffer zb,
void *  buf,
int  linesize 
)

Definition at line 274 of file zbuffer.c.

◆ ZB_ditherFrameBuffer()

void ZB_ditherFrameBuffer ( ZBuffer zb,
unsigned char *  dest,
int  linesize 
)

Definition at line 109 of file zdither.c.

◆ ZB_fillTriangleFlat()

void ZB_fillTriangleFlat ( ZBuffer zb,
ZBufferPoint p1,
ZBufferPoint p2,
ZBufferPoint p3 
)

Definition at line 6 of file ztriangle.c.

◆ ZB_fillTriangleMapping()

void ZB_fillTriangleMapping ( ZBuffer zb,
ZBufferPoint p1,
ZBufferPoint p2,
ZBufferPoint p3 
)

Definition at line 179 of file ztriangle.c.

◆ ZB_fillTriangleMappingPerspective()

void ZB_fillTriangleMappingPerspective ( ZBuffer zb,
ZBufferPoint p0,
ZBufferPoint p1,
ZBufferPoint p2 
)

Definition at line 236 of file ztriangle.c.

◆ ZB_fillTriangleSmooth()

void ZB_fillTriangleSmooth ( ZBuffer zb,
ZBufferPoint p1,
ZBufferPoint p2,
ZBufferPoint p3 
)

Definition at line 64 of file ztriangle.c.

◆ ZB_initDither()

void ZB_initDither ( ZBuffer zb,
int  nb_colors,
unsigned char *  color_indexes,
int *  color_table 
)

Definition at line 39 of file zdither.c.

◆ ZB_line()

void ZB_line ( ZBuffer zb,
ZBufferPoint p1,
ZBufferPoint p2 
)

Definition at line 71 of file zline.c.

◆ ZB_line_z()

void ZB_line_z ( ZBuffer zb,
ZBufferPoint p1,
ZBufferPoint p2 
)

Definition at line 56 of file zline.c.

◆ ZB_open()

ZBuffer * ZB_open ( int  xsize,
int  ysize,
int  mode,
int  nb_colors,
unsigned char *  color_indexes,
int *  color_table,
void *  frame_buffer 
)

Definition at line 12 of file zbuffer.c.

◆ ZB_plot()

void ZB_plot ( ZBuffer zb,
ZBufferPoint p 
)

Definition at line 6 of file zline.c.

◆ ZB_resize()

void ZB_resize ( ZBuffer zb,
void *  frame_buffer,
int  xsize,
int  ysize 
)

Definition at line 89 of file zbuffer.c.

◆ ZB_setTexture()

void ZB_setTexture ( ZBuffer zb,
PIXEL texture 
)

Definition at line 174 of file ztriangle.c.