Difference between revisions of "List of shaders and filters"

From Emulation General Wiki
Jump to navigation Jump to search
m
(Redirected page to Shaders and filters)
(Tag: New redirect)
 
Line 1: Line 1:
 
+
#REDIRECT[[Shaders and filters]]
{{stub}}
 
WIP. Barely half done. Finished version will list every known shader, plus description and sample image.
 
==Types==
 
 
 
===Anti-aliasing===
 
A graphics rendering technique used to reduce or eliminate jagged or stepped edges (aliasing artefacts). It works by applying various methods such as super-sampling, multi-sampling, or post-processing filters to improve the smoothness and visual quality of the image, particularly when displaying diagonal lines, curves, or fine details.
 
{| class="wikitable"
 
! scope="col" style="text-align: center;"|Name
 
! scope="col" style="text-align: center;"|Image
 
! scope="col" style="text-align: center;"|
 
Description
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/anti-aliasing/advanced-aa.cg advanced-aa.cg]
 
| style="text-align: center;"|[[File:Advanced-aa.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/anti-aliasing/fx-aa.cg fx-aa.cg]
 
| style="text-align: center;"|[[File:Fx-aa.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/anti-aliasing/fxaa-edge-detect.cg fxaa-edge-detect.cg]
 
| style="text-align: center;"|[[File:Fxaa-edge-detect.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/anti-aliasing/reverse-aa.cg reverse-aa.cg]
 
| style="text-align: center;"|[[File:Reverse-aa.png|thumb]]
 
| style="text-align: center;"|
 
|}
 
 
 
===Auto-box===
 
Shaders that scale the image within the viewport. This can be useful for ensuring a certain quality of scaling, often with the intention of applying other effects on top that are picky about scaling.
 
{| class="wikitable"
 
! scope="col" style="text-align: center;"|Name
 
! scope="col" style="text-align: center;"|Image
 
! scope="col" style="text-align: center;"|
 
Description
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/auto-box/box-max.cg box-max.cg]
 
| style="text-align: center;"|[[File:Box-max.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/auto-box/sharpen-lighter-box.cg sharpen-lighter-box.cg]
 
| style="text-align: center;"|[[File:Sharpen-lighter-box.png|thumb]]
 
| style="text-align: center;"|
 
|}
 
 
 
===Bicubic===
 
Enlarges images by calculating the colour values of new pixels based on a weighted average of neighbouring pixels in the original image. Popular for its ability to produce smooth, high-quality results when resizing images, especially when significant upscaling is required.
 
{| class="wikitable"
 
! scope="col" style="text-align: center;"|Name
 
! scope="col" style="text-align: center;"|Image
 
! scope="col" style="text-align: center;"|
 
Description
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/bicubic/bicubic-fast.cg bicubic-fast.cg]
 
| style="text-align: center;"|
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/bicubic/bicubic-normal.cg bicubic-normal.cg]
 
| style="text-align: center;"|
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/bicubic/bicubic-sharp.cg bicubic-sharp.cg]
 
| style="text-align: center;"|
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/bicubic/bicubic-sharper.cg bicubic-sharper.cg]
 
| style="text-align: center;"|
 
| style="text-align: center;"|
 
|}
 
 
 
===CRT===
 
A digital effect used to emulate the appearance of old cathode ray tube monitors and televisions. It does this by adding effects such as scan lines, colour distortion and curvature to the image to recreate the look. It is particularly popular because the majority of developers have used the unique properties of a CRT to their advantage to create certain effects.
 
{| class="wikitable"
 
! scope="col" style="text-align: center;"|Name
 
! scope="col" style="text-align: center;"|Image
 
! scope="col" style="text-align: center;"|
 
Description
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/crt/4xbr-hybrid-crt.cg 4xbr-hybrid-crt.cg]
 
| style="text-align: center;"|[[File:4xbr-hybrid-crt.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/crt/4xbr-hybrid-crt-b.cg 4xbr-hybrid-crt-b.cg]
 
| style="text-align: center;"|[[File:4xbr-hybrid-crt-b.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/crt/crt.cg crt.cg]
 
| style="text-align: center;"|[[File:Crt.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/crt/crt-caligari.cg crt-caligari.cg]
 
| style="text-align: center;"|[[File:Crt-caligari.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/crt/crt-cgwg.cg crt-cgwg.cg]
 
| style="text-align: center;"|[[File:Crt-cgwg.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/crt/crt-curved.cg crt-curved.cg]
 
| style="text-align: center;"|[[File:Crt-curved.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/crt/crt-geom-flat.cg crt-geom-flat.cg]
 
| style="text-align: center;"|[[File:Crt-geom-flat.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/crt/crt-highgamma.cg crt-highgamma.cg]
 
| style="text-align: center;"|[[File:Crt-highgamma.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/crt/crt-normalgamma.cg crt-normalgamma.cg]
 
| style="text-align: center;"|[[File:Crt-normalgamma.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/crt/crt-reverse-aa.cg crt-reverse-aa.cg]
 
| style="text-align: center;"|[[File:Crt-reverse-aa.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/crt/phosphor.cg phosphor.cg]
 
| style="text-align: center;"|[[File:Phosphor.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|
 
[https://github.com/libretro/common-shaders/blob/master/crt/phosphor-normalgamma.cg phosphor-<br />normalgamma.cg]
 
| style="text-align: center;"|[[File:Phosphor-normalgamma.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|
 
 
 
[https://github.com/libretro/common-shaders/blob/master/crt/snes-hires-blend.cg snes-hires-blend.cg]
 
| style="text-align: center;"|[[File:Snes-hires-blend.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|
 
[https://github.com/libretro/common-shaders/blob/master/crt/tv-highcontrast-hd-1152x672.cg tv-highcontrast-<br />hd-1152x672.cg]
 
| style="text-align: center;"|[[File:Tv-highcontrast-hd-1152x672.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/crt/tv-highcontrast-hd.cg tv-highcontrast-hd.cg]
 
| style="text-align: center;"|[[File:Tv-highcontrast-hd.png|thumb]]
 
| style="text-align: center;"|
 
|}
 
 
 
===DDT===
 
Data-Dependent Triangulation Shaders look at the square plane formed by the four nearest neighbours (a basic image resizing technique that assigns each pixel in the resized image the colour value of the nearest pixel in the original image). They divide the square plane into two triangular planes. The pixels are bilinearly interpolated using only the three points of the triangles to which they belong.
 
{| class="wikitable"
 
! scope="col" style="text-align: center;"|Name
 
! scope="col" style="text-align: center;"|Image
 
! scope="col" style="text-align: center;"|
 
Description
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/ddt/ddt.cg ddt.cg]
 
| style="text-align: center;"|[[File:Ddt.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/ddt/ddt-extended.cg ddt-extended.cg]
 
| style="text-align: center;"|[[File:Ddt-extended.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/ddt/ddt-waterpaint.cg ddt-waterpaint.cg]
 
| style="text-align: center;"|[[File:Ddt-waterpaint.png|thumb]]
 
| style="text-align: center;"|
 
|}
 
 
 
===Dithering===
 
A technique used to increase the amount of colour and shading that can be produced on a system. The effect is achieved by using lines or dots which are then blurred by the low quality NTSC signals (composite or RF) used by the system.
 
{| class="wikitable"
 
! scope="col" style="text-align: center;"|Name
 
! scope="col" style="text-align: center;"|Image
 
! scope="col" style="text-align: center;"|
 
Description
 
|
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/tree/master/dithering mdapt]
 
| style="text-align: center;"|
 
| style="text-align: center;"|
 
|}
 
 
 
===Eagle===
 
{| class="wikitable"
 
! scope="col" style="text-align: center;"|Name
 
! scope="col" style="text-align: center;"|Image
 
! scope="col" style="text-align: center;"|
 
Description
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/eagle/super-eagle.cg super-eagle.cg]
 
| style="text-align: center;"|[[File:Super-eagle.png|thumb]]
 
| style="text-align: center;"|
 
|}
 
===Handheld===
 
Simulates an LCD screen of a handheld device that has specific artifacts in comparison to newer screens.
 
{| class="wikitable"
 
! scope="col" style="text-align: center;"|Name
 
! scope="col" style="text-align: center;"|Image
 
! scope="col" style="text-align: center;"|
 
Description
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/tree/master/handheld/gameboy Gameboy]
 
| style="text-align: center;"|[[File:Gameboy.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/tree/master/handheld/lcd-shader lcd]
 
| style="text-align: center;"|[[File:Lcd.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/handheld/dot.cg dot.cg]
 
| style="text-align: center;"|[[File:Dot.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/handheld/lcd3x.cg lcd3x.cg]
 
| style="text-align: center;"|[[File:Lcd3x.png|thumb]]
 
| style="text-align: center;"|
 
|}
 
 
 
===Hqx===
 
("hq" stands for "high quality" and "x" for magnification) is a pixel art scaling algorithm developed by Maxim Stepin and used in emulators such as Nestopia, bsnes, ZSNES, Snes9x, FCE Ultra and many more. There are 3 hqx filters: hq2x, hq3x and hq4x, which scale by a factor of 2, 3 and 4 respectively.
 
{| class="wikitable"
 
! scope="col" style="text-align: center;"|Name
 
! scope="col" style="text-align: center;"|Image
 
! scope="col" style="text-align: center;"|
 
Description
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/hqx/hq2x.cg hq2x.cg]
 
| style="text-align: center;"|[[File:Hq2x.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/hqx/hq4x.cg hq4x.cg]
 
| style="text-align: center;"|[[File:Hq4x.png|thumb]]
 
| style="text-align: center;"|
 
|}
 
 
 
===Lanczos===
 
{| class="wikitable"
 
! scope="col" style="text-align: center;"|Name
 
! scope="col" style="text-align: center;"|Image
 
! scope="col" style="text-align: center;"|
 
Description
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/lanczos/lanczos4.cg lanczos4.cg]
 
| style="text-align: center;"|[[File:Lanczos4.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/lanczos/lanczos6.cg lanczos6.cg]
 
| style="text-align: center;"|[[File:Lanczos6.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/lanczos/lanczos12.cg lanczos12.cg]
 
| style="text-align: center;"|[[File:Lanczos12.png|thumb]]
 
| style="text-align: center;"|
 
|-
 
| style="text-align: center;"|[https://github.com/libretro/common-shaders/blob/master/lanczos/lanczos16.cg lanczos16.cg]
 
| style="text-align: center;"|[[File:Lanczos16.png|thumb]]
 
| style="text-align: center;"|
 
|}
 
==Unfiltered Image==
 
Picture as it appears directly from a digital connection.
 
{| class="wikitable"
 
! scope="col" style="text-align: center;"|Name
 
! scope="col" style="text-align: center;"|Image
 
! scope="col" style="text-align: center;"|Description
 
|-
 
|Pixellate
 
|[[File:Pixellate.png|thumb|left]]
 
|
 
|}
 
----
 
{{NEL}}
 
[[Category:FAQs]]
 
[[Category:Shaders/Filters]]
 

Latest revision as of 22:07, 26 April 2024