Difference between revisions of "Dithering"

From Emulation General Wiki
Jump to navigation Jump to search
m (Protected "Dithering" ([Move=Allow only administrators] (indefinite)))
(Blanked the page)
(Tag: Blanking)
Line 1: Line 1:
[[File:Cheryl_compared.png|thumb|350px|Left showing native resolution and unblended dithering. 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 [[NTSC Filters|NTSC]] signals (composite or RF) that the system uses. Modern computers use higher quality analog VGA (RGBHV) or digital HDMI, DVI, or DisplayPort signals, 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]]
 
[[File:Policenauts_PC98.png|250px|right|thumb|Unblended dithering in Policenauts for the PC98]]
 
 
[[Sega Genesis emulators|Sega Genesis]] relies heavily on dithering. The waterfalls in Sonic the Hedgehog are a classic example.  A few [[Super Nintendo emulators|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 transparency effects in systems that cannot properly do them. [[Sega Saturn emulators|Sega Saturn]] for one. The Saturn port of Castlevania: Symphony of the Night uses dithering for dialogue boxes, whereas the original PlayStation version has proper transparent 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 are often lost in emulation due to PCs typically using VGA or HDMI signals. The dots or lines appear as they actually are with no blurring. Options:
 
*Accept the unblended dithering
 
*Remove the dithering entirely.
 
**Requires assets to actually be of a higher color palette. Enabling 32-bit colors in ps1 emulators achieves this, as dithering is done by hardware during 16-bit conversion to output.
 
*Use a blurring or [[NTSC Filters|NTSC]] composite shader which reproduces the same amount of blur as the original composite signal that was output by original hardware.
 
*Use a dithering shader designed to just selectively blend the dithering but does not blend the rest of the image.
 
 
===Shaders===
 
There are several different shaders that selectively blend dithering patterns, to varying degrees of success. Certain patterns can be difficult to selectively blend without false positives.
 
 
*'''mdapt'''<ref>https://github.com/libretro/common-shaders/tree/master/dithering/shaders/mdapt</ref> selectively blends checkerboard and vertical line patterns, and has settings for tweaking the algorithm.
 
*'''gdapt'''<ref>https://github.com/libretro/common-shaders/tree/master/dithering/shaders/gdapt</ref> is a simpler, more aggressive variant of mdapt intended to handle dithering encountered in Genesis/Mega Drive games
 
*'''cbod'''<ref>https://github.com/libretro/common-shaders/tree/master/dithering/shaders/cbod-v1</ref> or '''Conditional Blending of Dither''' is another implementation of selective dither blending. It appears to have a bit more blur than other algorithms.
 
*'''snes-hires-blend'''<ref>https://github.com/libretro/common-shaders/blob/master/crt/shaders/snes-hires-blend.cg</ref> blends the vertical line patterns that appear at 512px width only, while doing nothing for 256px graphics. It is intended to be used in a few SNES games like Kirby's Dream Land 3 where it used vertical line patterns in a pseudo-hires mode to achieve translucency on CRTs. This shader has zero false positives when used as intended.
 
 
==Further reading==
 
[https://forums.libretro.com/t/mdapt-gdapt-dithering-treatment-updated-06-06-14/375 Official mdapt thread]
 
 
==References==
 
{{reflist|2}}
 
 
[[Category:FAQs]]
 

Revision as of 08:50, 17 March 2019