next up previous contents index
Next: 4.1.8 Logical Operation Up: 4.1 Per-Fragment Operations Previous: 4.1.6 Blending

4.1.7 Dithering


Dithering selects between two color values or indices. In RGBA mode, consider the value of any of the color components as a fixed-point value with m bits to the left of the binary point, where m is the number of bits allocated to that component in the framebuffer; call each such value c. For each c, dithering selects a value such that (after this selection, treat as a fixed point value in [0,1] with m bits). This selection may depend on the and coordinates of the pixel. In color index mode, the same rule applies with c being a single color index. c must not be larger than the maximum value representable in the framebuffer for either the component or the index, as appropriate.

Many dithering algorithms are possible, but a dithered value produced by any algorithm must depend only the incoming value and the fragment's x and y window coordinates. If dithering is disabled, then each color component is truncated to a fixed-point value with as many bits as there are in the corresponding component in the framebuffer; a color index is rounded to the nearest integer representable in the color index portion of the framebuffer.

Dithering is enabled with Enable  and disabled with Disable  using the symbolic constant DITHER. The state required is thus a single bit. Initially, dithering is enabled.

David Blythe
Sat Mar 29 02:23:21 PST 1997