Uborder shaders
Latest release: Uborder-v0.1.0
- Blur refletions done in linear gamma;
- Added a param to control blur reflections quality/performance.
What’s this?
It’s a simple and fast alternative to more complex bezel shaders like Mega Bezel or Koko-aio.
Why?
I really appreciate the features offered by Mega Bezel and, more recently, Koko-aio shaders. Being complex shaders, they tend to require a powerful machine to run. This made me wonder if it might be possible to create something simpler that could still provide some of their impressive features, like reflections, in a fast way. As a result, I came up with uborder.
How to use it?
- Update your Retroarch shaders online to get a vanilla version of uborder inside ‘shaders_slang’. OR, alternatively, if you wanna a more complete package, go to my repo and get the latest release with all packs included;
- On Retroarch, choose ‘FULL’ aspect ratio;
- In Quick Menu, choose Core Options->Vertical Mode and turn OFF, so that vertical games will rotate correctly.
- Enjoy.
For now, there are two types of presets you can load:
- ambient-light-crt.slangp
- uborder-bezel-reflections.slangp
Default crt shader compatible (content-shader):
- crt-nobody
crt-nobody is a modified version to support interlaced signal (test psx games like SH or Tekken3 and you’ll see how it behaves). To use other content shaders, edit the main presets ‘ambient-light-crt.slangp’ or ‘uborder-bezel-reflections.slangp’, commenting the crt-nobody line and uncommenting another content shader line. Doing that, all presets will load the correct content shader. I’ll probably add other known shaders in the future. Other crt shaders may be included in the latest pack.
Alternatively, you can just go to ‘base_presets’ folder and load the available presets directly.
Optional: to use extra shaders and presets, download uborder_packs here: some extra packs.
Can I prepend shaders to it?
YES! Some great shaders can be prepended to this one. I have tested ntsc-adaptive and it worked prepended out of the box! Though by doing this you’re adding a layer of complexity and may slow the results.
Can I use my own background?
YES! It’s called Uborder for a reason, it’s easy to add your own background.
To add your own background, create a folder inside ‘shaders/uborder_packs’ Retroarch directory, similar to the ‘Spooky TVs’ folder. Copy the ‘Spooky.slangp’ file into your folder and rename it as desired. Within the preset file, update the BORDER texture to reference your background image. Then, run the preset and use the user parameters in Retroarch to adjust the frame and reflections to fit your image. Once done, save it as a simple preset and copy the parameters back into your preset file to ensure it loads correctly next time.
Optional packs compatibility
There are several packs of overlays/borders made by the community through the years to work with several different emulators. Most of them are compatible with Retroarch overlay and shaders framework (most are made for Mega Bezel).
Uborder is a fast alternative to mimic some of the features of Mega Bezel and Koko-aio. And as this, uborder is easy to be integrated with available packs of overlays. The way packs are delivered, they may be separated between the overlay itself (the image file, png or jpg) and the presets/shaders/configs that load them as planned.
In the case of packs already made to be compatible with Megal Bezel and/or Koko-aio, most packs are hundreds of MB or even GB in size. In order to save space, I decided that uborder won’t demand a copy of the images into another folder. So, if you have some of the packs already installed to work with Mega Bezel or Koko-aio, you won’t need to redownload those packs, you just need the uborder presets that point to them.
So, to get the Uborder Presets that point to community packs, you found them inside ‘shaders/uborder_packs’ Retroarch root directory.
If you don’t have the packs already installed, get them in these places:
Orionsangel-Original-Console pack: Orionsangel-Original-Console pack
Duimon-Mega-Bezel-Potato pack: Duimon-Mega-Bezel-Potato
“Hgoda90 - OrionsAngel’s Overlay + Preset Packs - Candy Cab” (Mega Bezel edition) pack: Hgoda’s thread
These Community Packs only work if they’re installed here: ‘shaders/Mega_Bezel_Packs/’
For ‘retropie-overlays-arcade-artwork’, you should get the overlays from: https://github.com/cosmo0/retropie-overlays-arcade-artwork (Download it zipped), and unzip them in this folder: ‘Retroarch/overlays’, so that the final path where the pngs are located is here: ‘Retroarch/overlays/retropie-overlays-arcade-artwork/overlays/configs/’
For Boz-MrRetrolustMod-Overlays, get the pack and instructions in his thread.
If the path aren’t correct installed, uborder will fail to load the presets. So, use these examples below to adjust the exact location where the png files (images) in each pack should be installed:
For ‘OrionsAngel’ pack: [Retroarch_main_folder]/shaders/Mega_Bezel_Packs/Orionsangel-Original-Console/Graphics/Atari_2600/atarivcs.png
For ‘Duimon’ pack: [Retroarch_main_folder]/shaders/Mega_Bezel_Packs/Duimon-Mega-Bezel-Potato/Graphics/_Potato/Atari_2600/2600.png
For ‘retropie-overlays-arcade-artwork’ pack: [Retroarch_main_folder]/overlays/retropie-overlays-arcade-artwork/overlays/configs/1943.png
For ‘Boz-MrRetrolustMod-Overlays’ pack: [Retroarch_main_folder]/overlays/Boz-MrRetrolustMod-Overlays/1942.png
Presets packs
There are some great presets packs out there for Retroarch that have compatibility with uborder:
Screenshots:
Some pictures from the arcade games using the auto preset:
Credits to Duimon for the awesome available overlay packs.
Credits to Orionsangel for the permission to point the presets to his impressive arcade overlays.
Credits to hgoda90 for his works on Orionsangel’s Candy Cab presets for Mega Bezel.
Credits to TreyM for the default background image: https://github.com/TreyM/classic-crt-collection/tree/master/CRT
Thanks to fishku for very useful vector rotation functions.
Thanks to guest.r for his amazing full-featured crt-guest-advanced (and variants) and g-sharp2_resamplers shaders.
Thanks to hunterk for the image border, glow-trails and ambilight shader codes.
Thanks to HyperspaceMadness and kokoko3k for their awesome shaders that inspired me to work on this one.
Thanks to Hari-82, @Boz1978, bitman, LetramChi and K-rnivoro for their enthusiasm, interest in testing, usage on his presets, making suggestions and finding bugs, which contributed immensely to the current state of uborder.
Thanks to @sonkun for his dedication in adjusting his presets to work with uborder.
And, since the beginning, thanks to cgwg, maister and DOLLS for the original curvature code.
And to all libretro shader coders and overlay artists, of course!
Feedbacks are welcomed!