One of Retroarch’s excellent features is the ability to use shaders as a means of enhancing the visual appearance of games and other content. In this article, we dive into the details of what RetroArch shaders are, a pick of the best shaders, and how to use RetroArch shaders.
What Are RetroArch Shaders?
You may have heard the term ‘Shaders’ before. A shader is typically used to modify the colors and other visual components of a game or other content in real-time in 3D games, shaders are used in modern games as a means to enhance the visuals, creating a more realistic environment.
In the context of RetroArch, shaders can be applied to provide various visual effects to games and other content such as enhancing the colors, adding scanlines, or simulating a CRT display. Perfect for retro fans who want to recreate either the glow and scanlines of their old CRT TVs or perhaps the pixellated dot matrix LCD screen look of the Game Boy.
GLSL vs. Slang Shaders
RetroArch supports three shader languages, GLSL, Slang & Cg, which has now been deprecated due to it not being compatible with more recent graphics APIs.
The two actively supported shader types are as follows:
GLSL – This is the shader format available to the OpenGL API and is accessible across a range of platforms including mobile devices.
Slang – This is the latest shader format for RetroArch and is compatible with more recent graphics APIs such as Vulkan, Direct3D 10-12, and OpenGL.
Whatever it is you are looking to recreate, RetroArch is likely to have you covered with a wide range of shaders available for most situations.
How To Use RetroArch Shaders
Enable & Disable Shaders
It is very easy to enable shaders in RetroArch, simply launch a game, then press F1 (or the hotkey assigned to go back to the RetroArch menu), then scroll down the menu and select ‘Shaders’.
Select ‘Video Shaders’ so they are switched on, next, select ‘Load’ and then either access the glsl or slang shader folders.
You will then see a large list of folders, all with descriptions of the shaders available. For example, there are anti-aliasing, CRT effect, scanline, VHS effects, and many different types of shader effects for you to experiment with.
To disable shaders, go back to the shaders menu and switch ‘Video Shaders’ to off.
Downloading & Updating Shaders
If you are missing the RetroArch shader files from your RetroArch installation or simply wish to update your shader files to the latest versions available, you can do this by going to the ‘Online Updater’ option in the main menu and then selecting ‘Update Slang Shaders’, or ‘Update GLSL Shaders‘.
This will then download and update your Slang shaders files in RetroArch.
You will see the option to update either Slang or GLSL shaders, depending on which video driver you have RetroArch set to utilise. To check which video driver you have selected, go to ‘Settings->Video->Output‘ in RetroArch and select the appropriate driver for your system.
Note that if you have the ‘gl’ driver selected, then you will only see the option to update GLSL Shaders.
Customising Shader Parameters & Passes
You can customise shader presets by modifying the values found in the ‘Shader Parameters’ section as well as adding multiple shader passes, combining multiple shaders to create your own custom effects.
Each shader you use has its own parameters that can be adjusted. For example, a VHS effect shader has a ‘wiggle’ value that can be adjusted, which makes part of the screen wiggle around like distortion from a worn VHS tape. Parameters of this nature can be found under the ‘Shader Parameters’ section.
Another feature in the shaders section is that you can apply multiple shader passes, so if you want to combine a blurred VHS shader with a scanline shader, to create an authentic blurry CRT/VHS look, then simply increase the number of shader passes in the shaders menu, and add additional shaders into each new slot created.
You can create some weird and wonderful effects by experimenting with different combinations of shaders.
Below is a screenshot of my combination of VHS and scanlines. It looks almost identical to the old CRT I used to use for my Master System!
The Best RetroArch Shaders
Of course, it is completely subjective as to what your favourite shaders are. Here are the best RetroArch shaders in my collection currently:
Best CRT Shader
The Mega Bezel Reflection Shader package is one of the best-regarded CRT-style shaders available for RetroArch. Not only is the CRT effect excellent, but the reflections generated by the shader are also top quality.
This shader package can be downloaded from within RetroArch by running the ‘Update Slang Shaders’ option found in the ‘Online Updater’ menu. They will then be downloaded to a folder called ‘Bezel’ within the slang shaders folder.
There are even more advanced presets to be downloaded separately, complete with bespoke system overlays that utilise the effects from the Mega Bezel Reflection Shader package, creating an amazing RetroArch environment with reflective CRT and screen effects.
Check out the awesome reflections from the screen seen on the CRT graphic below.
Best Game Boy Advance Shader
If you are looking for an authentic-looking Game Boy Advance shader, which recreates the washed-out screen and motion blur (Don’t laugh, some people want this authenticity!), then look no further than the AGB001 GBA Color Motionblur Slang shader.
I have screen grabbed this image intentionally whilst Ryu was performing a jump so you can see the blur effect. You have to admit though, it does look authentic to the original GBA, doesn’t it!
This shader comes as part of the slang shaders pack as part of the RetroArch online updater and can be found in the ‘Handheld’ folder of the slang shaders.