Shader Presets
Shader Presets are combinations of one or more shaders. The Shader Chain which is a stack of shader passes each one pointing to a specific shader file.[1] There is a misconception about shaders; Generally, you really can't copy+paste shaders between two different programs even if they support same extension like .glsl, not unless they know how their shaders are structured and what kind of input they need and output they give.[2]
- Before diving in;
- Some of the Shader Presets mentioned below include shaders and filters that are already available as enhancement/adjustment option (such as digital vibrance) in your GPU driver control panel or from your digital display OSD. Some of those things may cause color clipping, exposure issues (due to using excessive digital adjustments to image) and Input lag. It's recommended to avoid usage of color or excessive image options/filters. But you can use analog device/CRT's OSD adjustments. Another proper option for this using the RTX Dynamic Vibrance option (See Shaders and filters#AI-powered filters) to avoid color crashing and top of that using a HDR device with Inverse tone mapping.
Contents
RetroArch/Libretro[edit]
RetroArch is able to stack shaders to create a combined effect. These complex effects are saved with a special extension:
.cpg for CG .glslp for GLSL .slangp for Slang
The shader presets can also have parameters. This means that you can tweak them to fit your needs.
Sonkun’s crt-guest-advanced-hd presets[edit]
A mix of basic crt attributes that invokes a nostalgic vibe with a modern twist, based on @guest.r’s crt advanced hd and ntsc shader combined with a variation of @Dogway’s grade shader.
3 shader preset folders for 3 monitor types: 1080p, 1440p and 4k so whichever monitor you have, you can choose the right shader resolution for your monitor type. These presets were designed to be used on these three resolution types only. Not OLED, 720p or other random resolutions, if you use it on any type of display besides those 3 standard displays Sonkun may not be able to help if you run into any issues. If they end up looking ok to you on your display regardless then game on. 64 shader presets to choose from per folder with 3 different phosphor types for USA, Japan and PAL that come in both color temp and multiple cable types to choose from included (representing 4 cable types to choose from: rf, composite, s-video and rgb and 3 composite types to choose from: standard, artifacts and Megadrive rainbow. Also S-Video presets includes Hyllian’s “sgenpt-mix multpass” shader to take care of checkerboard dithering and lite vertical line dithering)
Recommended to use with these shaders is rf/composite for all systems from the 4th generation consoles and below (nes, snes, genesis, atari, turbografx etc.), s-video for 5th and 6th generation consoles (ps1, saturn, n64, dreamcast, ps2, gamecube) and rgb for arcade. Also for NES cores Sonkun recommend changing the Palette setting. The two most popular cores are mesen and nestopia. For Mesen you should use the “Original Hardware (by FirebrandX)” setting, for Nestopia use the “NTSC hardware FBx” setting as Sonkun composite presets were designed with those pallets settings. Also with Mesen you should change both the top and bottom overscan settings to 8px to avoid harsh moire patterns on the screen. For Nintendo 64 mupen64plus-next core with Parallel-rdp settings enabled Sonkun also recommend changing the “crop overscan” setting to 8 to help reduce moire patterns that appear on the screen with that setting at default 0.
HSM's Mega Bezel[edit]
The Mega Bezel Project started back in July 2019 when developer HyperspaceMadness was looking at experimental shaders creating real-time reflections on emulated display bezels. More than two years later, the swiss-army-knife of visual simulation to enhance the retro game experience is ready for players.[3]
|
Other notable presets for HSM project[edit]
These presets are tested and developed for use in conjunction with the HSM's Mega Bezel.
- CyberLab Mega Bezel Death To Pixels (Includes HDR supported "Megatron 4K HDR presets" which is heavily recommended if you have a HDR supported 4K display.)
- TheNamec Mega Bezel Packs Amiga, Commodore 64, VIC20, CRTgaming
- Duimon Mega Bezel Graphics
- Zomb's Mega Bezel Pack
- SOQUEREU's Mega Bezel TV
- P3st´s Overlays for Mega Bezel
Sony Megatron (HDR)[edit]
These presets/shaders are intended to rely heavily on the luminance performance of your display rather than the performance of your graphics card. As such you will need a bright display preferably DisplayHDR 600 but some SDR screens do get bright enough in particular laptop screens. A DisplayHDR 1000 display will really have the head room to cope with some of the hgher end PVM’s etc.
Hari's 1080p Shader's Presets[edit]
Shaders presets pack for retroarch and 1080p display based on guest r shaders for retroarch. As per title, those are the shaders presets that Hari's currently use, which used them on a 24", 1080p desktop monitor that Hari keep fairly close (50/70 cm), with few simple overlays to fill up the screen. Those presets are made to be used on a 1080p native resolution monitor. This “use case” can be very narrow but maybe it can still be useful to someone! if you are playing on a native 1080p desktop monitor (or tv?) maybe this can help or maybe can be a starting point for your own presets!
Retro-Crisis-GDV-NTSC[edit]
It is based on Guest Advanced NTSC shader, which is authored by Guest R. The main focus of the pack is for 4K displays, but 1080p and 720p are also supported. The "100" series of presets are designed to be 100% accurate, based on a Sony Trinitron KVM.
Koko-aio[edit]
One of the main goal of this one is to be usable on integrated GPUs. Granted, don’t expect it to run on a Raspberry pi, but the actual target is Intel Haswell, the one on which kokoko3k develop it, where it perform with all the features enabled, when dealing with 240p content, on 1080p at resolution ad about 85/90fps.
Koko-aio is meant to be an all-in one package. It can be configured with many parameters, so that can be scaled to run on even on modest gpus while still developed to run with heavier presets on at least Haswell+ iGPUs (as in version 3.5, it reaches about 85fps with all features enabled When dealing with lowres content on 1920x1080 resolution). While it is not meant to simulate the internal behaviour of CRT displays, it aims to give users "visual" parameters to make their monitors look similar.
Features |
---|
|
Koko-aio fork for Arcade Artwork[edit]
Repository for game-specific Arcade Artworks by using the Koko-aio slang presets.
Successfully tested under MacOS, Windows and iPadOS. Currently the Koko-aio presets provides superior performance on all reasonably powered desktops (including Macs), while providing enhanced shader functions, including bezel reflections, halo/glow effects and many more. It embeds game-specific artwork seamlessly and scales according to resolution. The koko-aio presets is currently under steady development, thus it is a clear aim to stay in line with the upstream changes.
Main source of this artwork comes from John Merrit, who set a benchmark for realistic arcade artwork. Version 0.2 and following releases see the inclusion of some breathtaking 4K artwork provided by Ars Invictus as well. Release 0.3 contains 52 new game-specific presets. With release 0.4 (WIP), estefan3112 would like to nightify all presets to the extent required. 0.4 release will also see usage of the new ambilight functionalities. See the list of new game presets in the each release notes.
Overlay/Bezel packages[edit]
These overlay/bezel packs shouldn't be confused with shader presets above. Most of these packs only comes with overlay and config files (.cfg and .png files) for 'RetroArch/config/mame or FinalBurn Neo' and 'RetroArch/overlays/arcade' directories.
Back-Ups Arcade[edit]
A frontend that showcase’s various overlays with HSM's shader preset and much more by Boz1978. His aim was to make a AIO software package that seamlessly transitions between game selection and game with no ugly loading screens.
Features |
---|
|
Back-Ups Arcade relies of three pieces of software to make it work:
- Attract Mode Plus: The front end.
- RetroArch: The back end.
- RocketLauncher: The intermediary software used for game fades and pause menu.
For more information;
- Main article: Frontend
ReShade[edit]
ReShade is a generic post-processing injector for games and video software developed by crosire. Similar to libretro, shader effects are saved with a special extension: ".fx", and again similar to libretro you can tweak them to fit your needs or create your own custom preset. For preset file location look for ReShade.ini and "CurrentPresetPath=", and it will tell you the location. Latest Duckstation release builds comes with ReShade .fx shader support.
GShade is fork of ReShade.
Sony Megatron ReShade Port (HDR)[edit]
- For using this preset you need AutoHDR add-on for ReShade.
CyberLab ReShade Death To Pixels Shader Preset Pack[edit]
Vasiliy.M.'s PCSX2 CRT[edit]
kyubus Retro CRT[edit]
- Demonstration
- Kyubus Retro CRT is a collection of Reshade and RetroArch retro CRT presets using existing shaders such as CRT-Guest, CRT-Royale and CRT-Lottes. ::These presets are mainly developed on a monitor resolution of 1440p but presets for 1080p and 4k monitors are included.
- To make the lower resolution shader display correctly RetroArch (or any emulator) integer scaling needs to be switched ON (Settings>video>scaling). GaussianBlur, LumaSharpen and Deband(range) are probably the first parameters you might want to adjust depending on the resolution of the content and your preferences. frankschoeman also recommend trying RetroArch shaders underneath such as "/xbr/super-xbr-fast.slangp"(Set Input and Output gamma to 1.0 in shader parameters) and "/cubic/catmull-rom-fast.slangp". In case those aren't available frankschoeman suggest setting the preset to one where GaussianBlur is enabled.
AirCon's Retro CRT[edit]
- Demonstration
- Mimics blurry, lightbleeding, uncalibrated inexpensive 8~90's CRT.
Notable shaders for using with ReShade Presets[edit]
See this section.
Special K[edit]
See PCGamingWiki: Special K page.
ShaderGlass[edit]
Overlay for running GPU shaders on top of Windows desktop (similar to WindowCast for Libretro).
Features |
---|
|
WindowCast for Libretro[edit]
WindowCast for Libretro/libretro-wincapture (formerly WGC Window Capture) Libretro core to capture the contents of another window for video processing. This is useful, for say, capturing the output of a standalone emulator that doesn't have advanced pp shader implementation (like xemu, Dolphin, PCSX2*) or a PC game running in a window and then processing it with RetroArch's shader stack. WindowCast for Libretro, ReShade or ShaderGlass are the only decent way to do this if the emulator doesn't have any advanced pp shader implementation.
This core uses software blit, and should support running with any RetroArch video driver (vulkan, d3d11, gl, etc). However, the method used for window capture is Windows 10/11 specific and requires a Direct3D 10/11 capable GPU. Audio or input is not handled, and it is expected that the game will be running in the background.
Librashader[edit]
Librashader is a complete reimplementation of the RetroArch slang shader pipeline that allows standalone emulators to easily and optionally implement support for RetroArch-style shaders and shader presets.
This effort is a complete reimplementation of a shader pipeline that should be compatible with all shaders in slang-shaders, including the preset parser, the shader preprocessor, and SPIR-V translation, as well as runtime implementations for Direct3D 11, OpenGL, and Vulkan. To be clear, librashader does not “rip out” the shader parts of RetroArch and just repackage it up, but is a complete reimplementation with a fully documented Rust API that exposes every part of the pipeline.
- You can find librashader on GitHub.
- Reddit thread: Has there been any interest in librashader support?
- with v137 version, Ares emulator integrated librashader support thanks to this pull request.
Future[edit]
Already here thanks to Virtual Reality game room simulation projects. A VR game room simulation provides a virtual customizable game room; within that room there are cartridges, CD/DVDs and VHS tapes with artworks (CD/DVD covers, cartridge/VHS labels etc.), arcade machines, VCD/DVD/VHS player, personal computers or home consoles connected to virtual CRT screens that the user can interact with as they would a real-life TV.
- Main article: Virtual_reality#VR_game_room_simulations
- EmuVR example demonstration
- EmuVR netplay update
- EmuVR with RTGI example demonstration #1
- EmuVR with RTGI example demonstration #2
See also[edit]
External Links[edit]
- RetroArch Additions - Shaders
- Reshade Shaders Repository Index
- thingsiplay's article on sonkun's preset pack
- "Integrum Retro" showcasing shader presets and overlays
- "Retro Crisis" YouTube channel - Videos about various shader presets and podcasts with creators of those projects.
- libretro forum: what crt shaders can do