Changes

Jump to navigation Jump to search

CRT shaders

912 bytes added, 17:40, 16 September 2016
m
1 revision
[[File:Retroarch_2013-07-22_17-21-17-60.png|thumb|298px|CRT-Geom-Flat, with default settings]]
Many of these replicate aperture grille CRTs, which have sharp images and strong scanlines. If you find that this doesn't look a damn thing like your old TV, it's probably because you owned a shadow-mask (Slot mask or dot mask) style CRT, which has less noticeable scanlines. The easiest way to tell the difference is to feel the curve of the screen; aperture grilles only curve horizontally if at all, or look at the left and right sides of the glass against the frame. If those sides are curved, it's a shadow mask. If they're straight, it's an aperture grille. Old TVs usually had slot masks, whereas monitors usually hat had dot masks. Unfortunately, shadow masks require resolutions of upwards of 4K UHD to emulate accurately with no downsampling of the phosphor grid, so all we have for the time being are aperture grille shaders for current display resolutions.
Use integer scaling. This means either using windowed mode (x2,x3,x4) or setting an integer scaling option in the video options. The reason is that non-integer scaled scanlines will result in uneven lines with artifacts, though some shaders use oversampling to try to avoid this.
===CRT-Geom===
{{Main|CRT Geom}}
*[https://github.com/libretro/common-shaders/blob/master/crt/shaders/crt-geom.cg crt-geom.cg]*[https://github.com/libretro/common-shaders/blob/master/crt/shaders/crt-cgwg-fast.cg crt-cgwg-fast.-cg]
Simulates an aperture grille display (with the dot mask enabled). Very versatile and modifiable. One of the first popular CRT shaders. Visit the main article for more details.
===CRT-Calagari===
*[https://github.com/libretro/common-shaders/blob/master/crt/shaders/crt-caligari.cg crt-calagari.cg]
An older CRT shader similar to CRT-Geom but uses different methods to achieve its effects.
===CRT-Easymode===
*[https://github.com/libretro/common-shaders/blob/master/crt/shaders/crt-easymode.cg crt-easymode.cg]*[https://github.com/libretro/common-shaders/tree/master/crt/shaders/crt-easymode-halation crt-easymode-halation]
A flat CRT shader whose settings are easier to understand. Similar to CRT-Geom in its effects.
===CRT-Hyllian===
*[https://github.com/libretro/common-shaders/blob/master/crt/shaders/crt-hyllian.cg crt-hyllian.cg]*[https://github.com/libretro/common-shaders/blob/master/crt/shaders/crt-hyllian-lqfast.cg crt-hyllian-lqfast.cg]
Aims only for picture quality, so it avoids things that degrades the image just for accuracy. It however uses far less power to run, so it is possible to run this shader on lower end systems than CRT-Geom.
===CRT-Lottes===
*[https://github.com/libretro/common-shaders/blob/master/crt/shaders/crt-lottes.cg crt-lottes.cg]*[https://github.com/libretro/common-shaders/blob/master/crt/shaders/crt-lottes-halation.cg crt-lottes-halation.cg]
A newer CRT shader that uses a horizontal shadow mask pattern with blooming. The horizontal pattern works quite well at current resolutions, though it isn't entirely accurate to a true vertical slot mask pattern.
===GTU===
*[https://interpolationgithub.com/libretro/common-shaders.googlecode/tree/master/crt/shaders/gtu-v050 GTUv050 Cg]*[https://github.com/fileshizzlekizzle/quark-shaders/GTUv050_CGtree/master/GTU.zip GTUv050shader GTUv040 Quark]*[https://interpolationgithub.com/libretro/common-shaders.googlecode/tree/master/crt/shaders/GTU-famicom GTU-Famicom Cg]*[https://github.com/fileshunterk/interpolation-shaders/raw/master/GTUv050test.tar.gz GTUv50 Test program]
A CRT shader that focuses more on simulating blur and blending effects and color levels of CRT screens rather than the physical attributes like phosphors and curvature. Highly configurable, can be really sharp, or really blurry or anywhere in between, with optional scanlines and contrast and gamma settings. Settings are stored in a separate "config.h" file for easy editing. GTU-Famicom is a variant that takes an image from an NES with "raw" colors and processes it to output a NTSC image much like an actual NES PPU.
The test program is a program that can adjust various attributes, such as horizontal and vertical blur, scanlines, etc. It is useful for testing settings to use with the shader, and also to understand how CRT shaders work in general.
===CRT-Royale===
{{Main|CRT-Royale}}
[[File:CRT-Royale.png|thumb|298px|CRT-Royale, with default settings at 1080p (view original for full details)]]
*[https://github.com/libretro/common-shaders/tree/master/crt/shaders/crt-royale CRT-Royale]
A highly advanced multi-pass CRT shader that simulates almost every aspect of the CRT screen. There are tons of parameters to configure, such as phosphor type (aperture grille, slot mask, and EDP shadow mask) and size (i.e. dot pitch), convergence offests, scanline blooming and many others. Higher resolution is better for this shader, especially with EDP shadow mask phosphor layout and with smaller phosphor dot pitch values. This shader is really complicated compared to most other CRT shaders, reading the README and the documentation in the user-settings.h is a must.
 
===CRT-Royale-Kurozumi===
 
*[https://github.com/libretro/common-shaders/blob/master/cgp/crt-royale-kurozumi.cgp CRT-Royale-Kurozumi]
 
A preconfigured CRT-Royale made to look like a professional CRT monitor, specifically Sony's PVM/BVM line of monitors.
==Future==
Hypothetical shadow mask phosphor shaders such as PhosphorLUT and CRT-Royale are being developed. Due to the nature of the shadow mask screen, 4K resolution is likely needed to avoid significant downsampling of the phosphors.
==External Links==*[http://boardfilthypants.byuublogspot.netcom/viewtopic2015/04/more-crt-shaders.php?f=10&t=147&sid=e4abcf3640742689dd12243052c3ab86 boardhtml More CRT Shaders (filthypants.byuublogspot.netcom)] - Archived forum thread where much hunterk's comparison of the early current CRT shader development happenedshaders.
[[Category:FAQs]]
[[Category:Shaders/Filters]]

Navigation menu