TinyGL 0.4.1 for MinGW
Macros | Functions
zdither.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include "zbuffer.h"
#include <assert.h>

Go to the source code of this file.

Macros

#define _R   5
 
#define _G   9
 
#define _B   5
 
#define _DX   4
 
#define _DY   4
 
#define _D   (_DX*_DY)
 
#define _MIX(r, g, b)   ( ((g)<<6) | ((b)<<3) | (r) )
 
#define DITHER_TABLE_SIZE   (1 << 15)
 
#define DITHER_INDEX(r, g, b)   ((b) + (g) * _B + (r) * (_B * _G))
 
#define MAXC   256
 
#define DITHER_PIXEL2(a)
 

Functions

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 *buf, int linesize)
 

Macro Definition Documentation

◆ _B

#define _B   5

Definition at line 19 of file zdither.c.

◆ _D

#define _D   (_DX*_DY)

Definition at line 22 of file zdither.c.

◆ _DX

#define _DX   4

Definition at line 20 of file zdither.c.

◆ _DY

#define _DY   4

Definition at line 21 of file zdither.c.

◆ _G

#define _G   9

Definition at line 18 of file zdither.c.

◆ _MIX

#define _MIX (   r,
  g,
 
)    ( ((g)<<6) | ((b)<<3) | (r) )

Definition at line 23 of file zdither.c.

◆ _R

#define _R   5

Definition at line 17 of file zdither.c.

◆ DITHER_INDEX

#define DITHER_INDEX (   r,
  g,
 
)    ((b) + (g) * _B + (r) * (_B * _G))

Definition at line 27 of file zdither.c.

◆ DITHER_PIXEL2

#define DITHER_PIXEL2 (   a)
Value:
{ \
register int v,t,r,g,c; \
v=*(unsigned int *)(pp+(a)); \
g=(v & 0x07DF07DF) + g_d; \
r=(((v & 0xF800F800) >> 2) + r_d) & 0x70007000; \
t=r | g; \
c=ctable[t & 0xFFFF] | (ctable[t >> 16] << 8); \
*(unsigned short *)(dest+(a))=c; \
}
register PIXEL * pp
Definition: zline.h:4
register int a
Definition: zline.h:1

Definition at line 94 of file zdither.c.

◆ DITHER_TABLE_SIZE

#define DITHER_TABLE_SIZE   (1 << 15)

Definition at line 25 of file zdither.c.

◆ MAXC

#define MAXC   256

Definition at line 29 of file zdither.c.

Function Documentation

◆ ZB_closeDither()

void ZB_closeDither ( ZBuffer zb)

Definition at line 79 of file zdither.c.

◆ ZB_ditherFrameBuffer()

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

Definition at line 109 of file zdither.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.