gDPSetColorDither [Macro]



Sets RGB color dither


#include <ultra64.h>        /* gbi.h */
gDPSetColorDither(Gfx *gdl, u32 type)
gsDPSetColorDither(         u32 type)


Display list pointer
The color dithering type:
G_CD_MAGICSQ (Magic square ordered dither method)
G_CD_BAYER ("Standard" Bayer matrix ordered dither method)
G_CD_NOISE (Random noise dither)
G_CD_DISABLE (No dithering)


Sets the type of color dithering.

The RDP maintains each color component (RGB) value with 8-bit precision until processing in the memory interface (MI). With a 16-bit RGB frame buffer, the precision of each color is reduced to 5-bit precision, so dithering can also reduce Mach bands.

Ordered dithering has a "scattering" effect on the pixel neighborhood of the original image.

For details, see Section 15.5.1 "Color Blend Hardware" in the N64 Programming Manual.


The video interface (VI) has logic to gather or playback the original information of neighboring pixels while video is being displayed. This feature can be enabled/disabled by setting either OS_VI_DITHER_FILTER_ON or OS_VI_DITHER_FILTER_OFF in osViSetSpecialFeatures.

We recommend using G_CD_MAGICSQ as the color dithering type with OS_VI_DITHER_FILTER_ON, and G_CD_BAYER with OS_VI_DITHER_FILTER_OFF. However, you need to make adjustments for every application, scene and object.

See Also

gDPSetAlphaDither, osViSetSpecialFeatures

Revision History

02/01/99   Completely rewritten