RetroArch – Introducing the Mega Bezel Reflection Shader

Article written by HyperSpaceMadness



RetroArch keeps introducing innovations to the retrogaming world, constantly building simple roads for players to enjoy classic games in new and sometimes better ways.

Getting the sweet spot between ease of use and customization can be a time-consuming process, and sometimes requires a deep insight of how old technologies worked: refresh rate, aspect ratio, scaling, overscan, deconvergence are terms which we may or may not be familiar with, and these all play an important part in building a retro gaming experience that feels better, yet passionately authentic.

How do we get a handle on this?

Building an idealized CRT (cathode ray tube) like display experience. Getting the best out of post-processing with the latest CRT shaders fused into a “one stop” solution. Making it incredibly easy to customize, and yet performant. A fresh and unique starting point for the retro game lover.

Console branded tv by Soqueroeu, great for playing on a big screen in the living room
Console branded tv by Soqueroeu, great for playing on a big screen in the living room

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!

Sonic with a Blended Waterfall, Genesis Preset and graphics by Duimon
Sonic with a Blended Waterfall, Genesis Preset and graphics by Duimon

The Mega Bezel is unique in that it bends the common definitions of shaders and overlays in an out-of-the-box experience: custom calculations take care of games native resolution and scaling, dynamically draw bezels around the gameplay area filled with curvature simulation and reflections, incorporating a unique pipeline of CRT simulation models and other visual conditioning of the game image, color correction, de-dithering, and adding responsive backgrounds and lots of additional features to enjoy.

The shader centralizes a lot of complex tasks and makes them instantly available for all cores: screen rotation and position, horizontal and vertical orientation, zooming, cutting away games black spaces to get a real full-screen, and filling the aspect ratio difference between the emulated screen and your monitor with interesting graphics. Mega Bezel even adds original solutions, like the ‘Night Mode’ to simulate a dimly lit room and ‘Glass Mode’ for a modern and dynamic way to fill the entire monitor.

Mega Man 8 with the Glass Preset, good for filling the screen, avoiding any worries of OLED burn-in
Mega Man 8 with the Glass Preset, good for filling the screen, avoiding any worries of OLED burn-in

Being based on contributions and discussions from the Libretro forums, Mega Bezel is a community project at its heart: shader writers and artists are actively developing features and customized presets which max out the shader capabilities, and making them freely available for retro players to enjoy and further customize, chasing the their ideal setup.

3DS Preset by Duimon with alternate layout and custom graphics
3DS Preset by Duimon with alternate layout and custom graphics

Easy to use for newcomers, deep in customization for emulation maniacs, flexible for artists: the Mega Bezel project is a fun ongoing journey that strives to bring wonderful features to everyone, minus the hassle of setup!

Game Boy Advance LCD Preset & Graphics by Duimon
Game Boy Advance LCD Preset & Graphics by Duimon

You can get the basic Mega Bezel shaders inside RetroArch by running Online Updater -> Update Slang Shaders then the shaders will be located inside shaders/shaders_slang/bezel/Mega_Bezel/Presets. Be sure to read the setup portion of the ReadMe.md to help you get started you can find it in the Mega_Bezel folder just mentioned.

A small group of talented artists has also come together using the Mega Bezel to create suites of shader presets with beautiful graphics covering many consoles, computers and PVMs to share with retro gamers.

If this sounds exciting head over to the Mega Bezel thread on the Libretro forum to find more about the Mega Bezel, and links to the artist’s pages and shader preset collections.

https://forums.libretro.com/t/hsm-mega-bezel-reflection-shader-feedback-and-updates/25512

Below are more examples of the Mega Bezel and artwork from the community.

OutRun preset and graphics by Orion's Angel
OutRun preset and graphics by Orion’s Angel
Star Wars with a lovely JVC PVM from TheNamec!
Star Wars with a lovely JVC PVM from TheNamec!
Garou: Mark of the Wolves with Smoothed Preset
Garou: Mark of the Wolves with Smoothed Preset
REZ with Dreamcast core upscaling with shader downscaling and cyberpunk style by TheNamec
REZ with Dreamcast core upscaling with shader downscaling and cyberpunk style by TheNamec
Monkey Island with some smoothing and deconvergence magic
Monkey Island with some smoothing and deconvergence magic
The Great Gianna Sisters with a preset and graphics by TheNamec
The Great Gianna Sisters with a preset and graphics by TheNamec
Tron's Deadly Discs showing supports for the game Image on top of backdrop
Tron’s Deadly Discs showing supports for the game Image on top of backdrop
Choplifter with the Glass preset and some scaling
Choplifter with the Glass preset and some scaling
Resolution info can be printed to the screen so you can see what resolutions are used
Resolution info can be printed to the screen so you can see what resolutions are used
Shadowgate on Macintosh with graphics by Duimon
Shadowgate on Macintosh with graphics by Duimon
Monochrome Amber mode applied
Monochrome Amber mode applied
Vib Ribbon on PS1 with color added and a nice PVM from TheNamec
Vib Ribbon on PS1 with color added and a nice PVM from TheNamec