Changes

Jump to navigation Jump to search

CRT shaders

7,525 bytes added, 23 March
m
no edit summary
==Download==
All official releases of RetroArch come bundled with a full set of slang and GLSL shaders, including CRT shaders, pulled from their shader repositories on Github, which are regularly maintained and updated. The simplest way to keep up to date with shader development is through RetroArch's built-in updater, though if you are only interested in the CRT shaders, you can alternatively grab them from the following repos:
 
[https://github.com/libretro/slang-shaders/tree/master/crt slang shaders] - For use with devices that support Vulkan, OpenGL 3.x, GLES3, and/or D3D10/11/12. This is the most current, regularly maintained repository.
==Types==
===CRT-Geom===
[[File:Retroarch_2013-07-22_17-21-17-60.png|thumb|298px|CRT-Geom-Flat, with default settings]]
{{Main|CRT Geom}}
*[https://github.com/libretro/commonslang-shaders/blob/master/crt/shaders/crt-geom.cg slang crt-geom.cgslang]*[https://github.com/libretro/commonslang-shaders/blob/master/crt/shaders/crt-cgwg-fast.cg slang crt-cgwg-fast.slang]*[https://github.com/libretro/slang-shaders/tree/master/crt/shaders/geom-cgdeluxe crt-geom-deluxeA very versatile and modifiable shader that simulates an aperture grille display (with the mask enabled). One of the first popular CRT shaders. The deluxe version adds more features, including more mask types. Visit the main article for more details. 
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-Caligari===
[[File:crt-caligari-sm.png|thumb|298px|CRT-Caligari, with default settings at 1080p (view original for full details)]]
*[https://github.com/libretro/slang-shaders/blob/master/crt/shaders/crt-caligari.slang crt-caligari.slang]
 
An older CRT shader similar to CRT-Geom that uses different methods to achieve its effects.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
----
===CRT-Easymode===
[[File:crt-easymode.png|thumb|298px|CRT-Easymode, with default settings at 1080p (view original for full details)]]*[https://github.com/libretro/commonslang-shaders/blob/master/crt/shaders/crt-easymode.cg slang crt-easymode.cgslang]*[https://github.com/libretro/commonslang-shaders/tree/master/crt/shaders/crt-easymode-halation crt-easymode-halation] A fast, relatively simple CRT shader with easy-to-understand settings. Similar to CRT-Geom in its effects.              
A flat CRT shader whose settings are easier to understand. Similar to CRT-Geom in its effects.
----
===CRT-Hyllian===
*[https://github.com/libretro/commonslang-shaders/blobtree/master/crt/shaders/crt-hyllian.cg crt-hyllian.cg]*[https://githubforums.libretro.com/libretro/common-shaders/blob/master/crt/shaderst/crt-hyllian-fast.cg crtand-hyllianits-fast.cgvariants/38137 Hyllian's shader development thread]
Aims only for picture quality, so it avoids things that degrade the image just for accuracy. It, however, uses far less power to runthan most other CRT shaders, so it is possible to run this shader on lower end systems than CRT-Geom.
Another versionRecently, crtafter a long period of inactivity, Hyllian has restarted shader development anew, releasing all-new versions of this shader under heavy inspiration from CRT-hyllianGuest-lqAdvanced and others.cg is specifically aimed They can be acquired at even lower end systemshis thread on the libretro forums, linked above.
 
----
===CRT-Lottes===
[[File:crt-lottes-multipass.png|thumb|298px|CRT-Lottes-Multipass, with default settings at 1080p (view original for full details)]]*[https://github.com/libretro/commonslang-shaders/blob/master/crt/shaders/crt-lottes.cg slang crt-lottes.cgslang]*[https://github.com/libretro/commonslang-shaders/blob/master/crt/shaders/crt-lottes-halationfast.cg slang crt-lottes-halationfast.cgslang]*[https://github.com/libretro/slang-shaders/tree/master/crt/shaders/crt-lottes-multipass crt-lottes-multipass] A newer CRT shader that uses a horizontal shadow mask pattern with blooming. The horizontal pattern works quite well at 1080p, though it isn't entirely accurate to a true vertical slot mask pattern. The multipass version adds scanline bloom and a few other features.         
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===
[[File:GTU.png|thumb|298px|GTU, with default settings at 1080p (view original for full details)]]*[https://github.com/libretro/commonslang-shaders/tree/master/crt/shaders/gtu-v050 GTUv050 Cgslang]
*[https://github.com/hizzlekizzle/quark-shaders/tree/master/GTU.shader GTUv040 Quark]
*[https://github.com/libretro/commonslang-shaders/tree/master/crtnes_raw_palette/shaders/GTUgtu-famicom GTU-Famicom Cgslang]
*[https://github.com/hunterk/interpolation-shaders/raw/master/GTUv050test.tar.gz GTUv50 Test program]
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.
 
 
 
 
 
----
===ZFast_CRT===
[[File:crt-zfast.png|thumb|298px|ZFast_CRT, with aperture grille mask enabled at 1080p (view original for full details)]]
*[https://github.com/libretro/slang-shaders/tree/master/crt/shaders/zfast_crt zfast_crt]
 
An extremely fast CRT shader made to run at full speed on extremely low-end hardware like the Raspberri Pi 3. Probably the fastest shader on this list.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
----
===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/slang-shaders/tree/master/crt/shaders/crt-royale CRT-Royale]*[https://github.com/libretro/slang-shaders/blob/master/presets/crt-royale-kurozumi.slangp CRT-Royale-Kurozumi] 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 offsets, 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 is a preconfigured CRT-Royale made to look like a professional CRT monitor, specifically Sony's PVM/BVM line of monitors.           ----===CRT-Guest-Advanced===[[File:crt-guest-dr-venom.png|thumb|298px|CRT-RoyaleGuest-Dr-Venom, with default settings at 1080p . The newer Advanced shader's default settings look identical (view original for full details)]]*[https://forums.libretro.com/t/new-crt-shader-from-guest-crt-guest-advanced-updates/25444 Guest's shader development thread]*[https://github.com/libretro/slang-shaders/tree/master/crt/shaders/guest crt-guest-advanced]*[https://github.com/libretro/glsl-shaders/tree/master/crt/shaders/guest crt-guest-dr-venom] This is the most advanced, feature-rich CRT shader of all. The standard version has even more parameters to configure than CRT-Royale, and while it is slower as a result, most modern GPUs can handle it just fine. If greater speed is desired, there are several faster presets available, as well as variants that add other neat features such as NTSC emulation and better support for games that render at 480p or higher. It is also still in active development and continues to regularly gain features and optimizations. Take heed, however: while it is hosted on the RetroArch shader repositories, it is only updated in that platform when Guest himself deems it ready. Much more regular WIP releases are made in the libretro forums in the shader's dedicated thread, linked above. The version in the RetroArch repo is relatively up-to-date, but it might not hurt to check on Guest's thread for newer developments. CRT-Guest-Dr-Venom is the precursor to CRT-Guest-Advanced. It is now considered mostly obsolete, as it is not as feature-filled as Guest's newest shaders and has even been superseded in speed by the faster Advanced presets. As such, it should only be used if your device is unable to load slang shaders, as it has recently been removed from the slang shader repository but remains available as a glsl shader, though the slang version can still be acquired in the first post of Guest's thread. 
*[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 ===Sony Megatron===[[File:sony-megatron.png|thumb|298px|Sony Megatron, using the reference preset in SDR mode with the "1000 TVL" aperture grille mask (view original for full details)]]*[https://github.com/libretro/slang-shaders/tree/master/hdr Sony Megatron]*[https://forums.libretro.com/t/sony-megatron-colour-video-monitor/36109 Sony Megatron development and discussion thread] This shader is quite unique among CRTshaders, and shaders in general. It is currently the only shader that takes advantage of HDR support for greater color depth and brightness, allowing for highly accurate CRT emulation on HDR-Royale made to look like capable displays, though it is also usable on regular SDR displays through a professional parameter change. Unlike other CRT monitorshaders, specifically Sonyits inner workings are actually fairly simple and it doesn's t have many bells and whistles, focusing mainly on drawing scanlines and accurate phosphor masks as well as color correction, which coincidentally also makes it one of the fastest shaders featured on this page. As it is primarily meant for use on bright HDR-capable displays, it draws phosphor masks at full strength with no attempt at mitigating the resulting loss in brightness through parameters such as bloom, glow or mask strength typically seen in other CRT shaders, instead counting on the display to make up for it. On an SDR display, it is highly recommended to use it with the backlight turned up all the way, as otherwise the image will likely be too dim to view comfortably. There are presets emulating various CRT models and types, including several PVM/BVM line of models, certain arcade displays, and even PC monitors.
==Future==
===Shadow Phosphor Mask Phosphor Emulation===Hypothetical At the frontier of CRT shader development has been phosphor mask emulation. As stated previously, there are three overarching mask types: aperture grilles, shadow mask phosphor shaders masks and slot masks. Aperture grilles were used primarily by Sony TVs, professional displays and PC monitors (with a few other brands such as PhosphorLUT Mitsubishi releasing their own version after Sony's Trinitron patent expired in the late 90's), shadow masks by the majority of PC CRT monitors from the late 80's onwards, and slot masks by just about every non-Sony consumer-level CRT TV, the vast majority of arcade monitors, and very early home computer/PC monitors. A key part of CRT-Royale are being developedemulation, then, depends on accurately replicating the look of these masks. However, even within each of these mask types, there is a lot of variance, as some CRTs were much sharper and were able to resolve a lot more detail than others. Due This is encapsulated in a specification known as TVL, or television lines, defined as the number of vertical white lines a mask can resolve along the horizontal dimension in a stretch equal to the nature height of the shadow mask tube's viewable area (this means TVL is calculated by measuring the screen's height, then counting the number of resolved lines across a horizontal span equal to that height, 4K resolution not across the entire length of the screen). A higher TVL count is likely needed the result of higher phosphor density and results in a sharper, more detailed image, as well as more prominent scanlines in low-res content. Most consumer-level CRTs had a relatively low TVL count, whereas professional monitors such as Sony's PVM and BVM series had much higher TVL. In PC monitors, the usual specification to avoid significant downsampling determine sharpness was instead dot pitch, or the distance between two phosphors of the phosphorssame color. The lower the dot pitch, the sharper the monitor and the more detail it could resolve. Taking into account the three mask types and the variance in TVL and dot pitch, then, along with many other variables, it is no wonder no two CRTs looked alike==See also==*[[Shader_Presets|Shader Presets]]:*[[Shaders_and_filters|Shaders and filters]]:*[[NTSC_filters|NTSC filters]]
==External Links==
*[http://filthypants.blogspot.com/2015/04/more-crt-shaders.html More CRT Shaders (filthypants.blogspot.com)] - hunterk's comparison of current CRT shaders.
----{{NEL (NT)}}
[[Category:FAQs]]
[[Category:Shaders/Filters]]
6,737
edits

Navigation menu