Video Game Emulation Wiki

Shaders and filters can be applied to video games to achieve some kind of visual effect. These can be from attempting to replicate aperture grille displays, NTSC cables, or something more exotic.

Emulator support[]

Name Shader file types Notes
RetroArch .cg, .cgp, .filter, .shader

.shader only can be used through phoenix, not RGUI.

Filters from bsnes v82 and below work in RetroArch.

.cgp stacks several .cg files on top of one another.

DOSBox .fx Only on special builds such as SVN Daum.
Higan .filter,

.shader removed in future higan releases,

.fiter works in old bsnes Not current Higan.

HqMAME .fx xBRZ and HQx
OpenEMU .cg, .cgp, .inc
Snes9x .cg, .shader
Project64 .fx Only with a custom Rice Video plugin.
PCSX-R .slv/.slf, .vp/.fp Requires Pete's OpenGL2 or gpuBladeSoft.
ePSXe .slv/.slf, .vp/.fp

Requires Pete's OpenGL2 or gpuBladeSoft.

PCSX2 .fx

Support added in r5390 (after v1.0.0) Must be named shader.fx and be in the main directory. PageUp to activate.

Dolphin .txt Can only be used with OpenGL backend.
Mobile .glsl GLSL is the shader language used by default on mobile (Android/iOS/Blackberry).
Mobile .glslp GLSL equiv. of cgp - possible to stack several shaders with this.


Main article: List of shaders and filters
Crt-geom, a popular CRT shader.

CRT Shaders[]

Main article: CRT Shaders

These replicate aperture grille CRTs, which have sharp images and strong scanlines. They do not replicate shadowmask CRT displays.

NTSC Filters[]

Main article: NTSC filters

These replicate the cables used to connect the system to the TV. They vary in quality, with the lowest being RF, then composite, then s-video and RGB (scart) being the highest quality. Many systems have NTSC filters built into them. They can also be separately downloaded in .filter format.

GameBoy Shader[]


GameBoy Shader with default urine palette. Other palettes are available.

This .cgp shader replicates the dot matrix screen of a Game Boy, complete with the ghosting problems to reproduce certain visual effects. Made by Harlequin. In Other words it makes it look like the original Gameboy. Requires RetroArch.

Smoothing shaders[]

These shaders, such as Super Eagle, HQx, xBR and xBRZ attempt to reduce pixellation by smoothing and rounding edges using various methods to upscale the image.


These are shaders designed to detect and smooth dithering. mdapt is a popular one. There is also newer gdapt.


This shader is supposed to appear the same as nearest neighbor (aka "unfiltered"), except with minor corrections when using a non-integer scale that are increasingly less noticeable the higher it is scaled. This shader is very useful to anyone who wants to keep things as sharp as possible without worrying about scale factors. Available in XML and Cg shader formats.


Libretro cg shaders

Snes9x cg shader pack

NTSC filters: Win32 Win64  Linux32  Linux64 MacOS

PS1 shaders PS2 shaders

Further reading[]

All things shaders and filters

Cg shader spec.