Dithering

From Emulation General Wiki
Revision as of 23:52, 31 July 2013 by ColamanZero57 (talk)
Jump to navigation Jump to search
Left showing native resolution and unblended ditheirng. Right showing HD and no dithering.

Dithering is a technique to increase the amount of color and shading that can be done on a system. The effect is achieved by using lines or dots which are then blurred by the low quality cables (composite or RF) that the system uses. Modern computers use higher quality cables, which means that the dithering ends up being sharp and unblurred.

Use in games

[[File:Org-1-.png|250px|right|thumb|Sega Genesis Game Lion King showing unblended dithering.

Genesis relies heavily on dithering. The waterfalls in Sonic the Hedgehog are a classic example.  A few SNES games use it as well (eg. Metal Warriors). Certain PS1 games, such as Silent Hill make heavy use of dithering. In that game it is used for shading. Many other PS1 games have a checkerboard.

Dithering is frequently used for transparancy effects in systems that cannot properly do them. Sega Saturn for one. The Saturn port of Castlevania: Symphony of the Night uses dithering for dialogue boxxes, whereas the original Playstation version has proper transparant boxes.

Many older computer games used dithering, though unlike with console games, it was not expected for the dithering to be blended into solid colors or proper transparency due to the sharper output of PC monitors. Of particular note are games for Japanese computers such as the PC-88/98, which often featured heavy use of dithering.

Emulation

The intended effects of dithering is often lost in emulation due to PCs typically using VGA or HDMI cables. The dots or lines appear as they actually are with no blurring. Options:

  • Accept the unblended dithering
  • Remove the dithering entirely. Enabling 32bit colors in ps1 emulators achieves this
  • Use a blurring or NTSC Composite shader which reproduces the same amount of blur as the original composite cables
  • Use a dithering shader designed to just blend the dithering but does not blend the rest of the image.

Shaders

https://github.com/libretro/common-shaders/tree/master/dithering/mdapt-4p

Further reading

mdapt official thread