Dithering and Filtering
 
 
 

When converting images with a palette of a greater number of colors to an image with a palette of fewer colors, dithering is a means of simulating colors not in the more limited palette by mixing different colored pixels together.

Dithering is also a method of smoothing the edges between two color regions by mixing their pixels so the edges appear to blend together.

In 3ds Max, you have the option of setting dithering if you are rendering for the limited colors of an 8-bit display (256 colors). It can help prevent a banding effect in color gradients. Dithering does increase the size of 8-bit files and slows down the playback speed of animations.

3ds Max is designed to render 64-bit color output. Consequently, you also have the option of setting dithering for true color (24 or 32-bit color). The Dither True Color option ensures that you get the best quality on true-color displays.

Users turn dithering on and off in the Rendering page of the Preferences dialog. Users can also set dithering for scene motion blur in Video Post. Here, dithering provides a smoothing effect between the separate images making up the "blur". Video Post dither is set as a percentage of total dither.

A developer can determine if a bitmap is dithered by calling Bitmap::IsDithered(). A developer can ask the system to dither an image at render time using the method Bitmap::SetDither().

Normally, a developer is not directly concerned with the dithering or filtering of bitmaps. These two operations are performed by the renderer, and the 3ds Max user sets these characteristics of the bitmaps using the 3ds Max user interface. A developer can however determine if a bitmap will be filtered by calling Bitmap::HasFilter(). A developer can also ask the system to filter an image when its rendered. This is done using the method Bitmap::SetFilter(). See List of Bitmap Filter Types for more details on the types of filtering available. There is also a method of the Bitmap class called GetFiltered() to compute averaged colors over a specified area of the bitmap using the bitmap's current filtering algorithm.