Mega Bezel Reflection Shader! - Feedback and Updates

I think this is because you need to change your video driver in retroarch to Vulkan or GLCore, then restart Retroarch and when you look for the shaders you’ll see them :slight_smile:



how can I edit mask 7 in guest dr venom to darken every third pixel? Not sure where the appropriate file is.


When the newest version is available/updated with the (excellent) Mega Bezel pack, it should become available as mask 8. There is also a new MGX (looks very nice with a slotmask setup) and the return of RGBX as masks 9 an 10. Just to mention it. :slightly_smiling_face:


One thing I noticed in the most recent update when doing my CyberLab Composite - Pure @soqueroeu TV Special Edition STD preset, was that the Mask Size Parameter range no longer starts at 0, which is supposed to be the Auto setting. Is this deliberate?

That Auto setting really came in handy when applying the same preset to 4K and 1080p resolutions.


The parameter range thing was an accident, in the last alpha/Github it’s already fixed.



Mega Bezel is updated to V 0.9.103 2022-02-15 Rev 1 (I’m putting this up today on the 16th but I did the versioning on the 15th)


  • WARNING post_br is now 100% at 1, not 100, you will need to adjust any presets you have saved, just divide the number by 100
    • This is so it matches with guest’s usage
  • Updated to crt-guest-advanced-2022-02-15-release1
    • Now with @guest.r’s wonderful deconvergence magic, no more blur in the mask with deconvergence
    • Mask offset/stagger control added
  • Sonkun’s Presets Updated
  • @Cyber’s Presets have been removed from the experimental folder to avoid confusion and allow for independent easy update
  • Adjusted Tube Diffuse Color
    • values are now:
      • 0 - Black
      • 1 - Image
      • 2 - Transparent
  • Added CRT blend modes, Add & Multiply
    • Multiply can be useful for when you have a old style lcd like the DMG where the lcd elements are not self-lit
    • When in Multiply mode the tube diffuse image is set to use the image and will be opaque
      • So when using multiply the crt image will be always be multiplied on top of the diffuse image


Shader Package Approx. 15 MB

Extra Examples Package


  • You MUST use Retroarch Version 1.9.8 or Later (It will fail to load on earlier versions)
    • If you have previous versions of the Mega Bezel installed:
      • Delete the old Mega Bezel stuff from shaders/shaders_slang/bezel
    • Inside the .zip is a bezel folder, copy the bezel folder into your Retroarch/shaders/shaders_slang folder
      • The final path to the Mega bezel should be Retroarch/shaders/shaders_slang/bezel/Mega_Bezel
    • Set video driver to Vulcan
      • It will run in GLCore but seems faster in Vulcan
      • Some users have run it successfully in D3D11 but with a very slow load time
      • Restart after changing the video driver
    • Open the Settings Menu and Set:
      • Video / Scaling / Aspect Ratio to Full
        • This will match your monitor aspect aspect ratio
      • Video / Scaling / Integer Scale to OFF
      • Video / Output / Video Rotation to Normal
      • User Interface / Show Advanced Settings to ON
      • Core / Allow Rotation to OFFImportant for FB Neo
      • Do this Before loading content
    • Load a preset in the shaders menu, Mega Bezel shader presets are found in:
      • shaders/shaders_slang/bezel/Mega_Bezel/Presets
    • When you save a preset make sure you have the Simple Presets feature set to ON
      • This will save a preset with a reference to the preset you loaded plus whatever parameter changes you made
      • This will keep your presets loading properly when the shader updates in the future

Obligatory Screenshots! :crazy_face:

One of @sonkun’s new presets with Guest deconvergence magic

Mega Man 2 with a smidge of deconvergence , tube diffuse and scanline blur and some Nice @Duimon graphics & preset!

Same with Metroid :grin:

CRT screen applied with Multiply for a quasi gameboy look

CRT screen applied with Multiply for a quasi gameboy look with @duimon’s fun inception bezel

One of @soqueroeu’s great console TVs SMS style


Some screenshots of @soqueroeu’s graphics with visible tube diffuse and some scanlines on black.

A midnight duel for @Diego



Mega Man 2 - Quickman

I think one of the things which these show me is that we need some control for adding shadows to the tube diffuse image at the top and sides, it looks a bit unnatural for the diffuse lighting of the tube to not have any shadow on it from the surrounding bezel.

Through my gathering of research (sooo many pictures of crts…) It seems like static reflection would generally not be affected by the shadow, but the diffuse shading of the tube would be.

It also seems like with a diffuse shaded tube that having HDR to make the brights a lot brighter could be helpful.


@HyperspaceMadness any chance of getting this to work with the Xbox Series X at some point ??


Hey @HyperspaceMadness!

What shader are you using? GDV?

Is the Curvature 2D or 3D?


Hi, this is just opening your preset and adjusting the tube diffuse color and grade black level :slight_smile:

So it’s GDV and 2D curvature :slight_smile:


I don’t know if this is ever going to happen, because I think only the D3D driver runs on it (unless I’m mistaken, I don’t know much about it) and the Mega Bezel and D3D don’t seem to get along for some reason which causes the crazy long load times.


I agree. We already have the shadow of the bezel on the screen, maybe you can tack a second onto the diffuse with a little more width and control.


I’m now using Custom-Bezel_001 from @Duimon presets with arcade systems and looks great and really giving that arcade vibe since arcades came out to amaze people with big screens and sprites and on my 22 inch monitor this setup is all I ask for :grin:

No a big deal was just wondering if it’s possible to be able to add a image source to reflect a tempered glass screen protector as an addition to the Tube Diffuse Color and Tube Static Reflection Image in order to boost realistic cabin look?


Yeah that is correct the xbox series x only uses D3D11 & 12.

So is there not indication on what the issue is with D3D then???

1 Like

The Gel Layer has a “Normal” Blending mode, along with it’s add, and multiply. It should work for what you want. (If I am understanding you correctly.) It was designed for things like Vectrex screen decals.


I mean this kind of reflection on the glass where it stands before actual monitor screen :point_down:

With Gel I’m not getting similar reflection kinda effect and it seems it doesn’t gets over bezel frame, only applies on top of screen area. Tried to use scale paramater for gel layer and change blending mode for bezel frame to fake as if it’s stand under gel layer but no luck. Gel layer remains under bezel frame when you scale up its size.

Gel off :point_down:

Gel on :point_down:

But not gonna lie, Gel adds a whole nother retro vibe to the image :yum:


This confused me since they only apply to the screen as well. You can use the Cabinet Glass layer. Here’s a quick and dirty using HSM’s frame texture image.

It will take a bit of creativity and perseverance to get one you like.


Is this one switch enable function or multiple parameter required to be turned on in order to make it visible? I couldn’t find the way to triger the texture image :sweat_smile:

Tried both of the layer parameters but couldn’t trigger the texture image.


I just used the texture image as an example after copying it to my backgrounds folder. You have to edit the preset and add the Cabinet Glass image path.

CabinetGlassImage = ":/shaders/Mega_Bezel_Community/Duimon-Mega-Bezel/Graphics/_Backgrounds/FrameTexture_2800x2120.png"
BackgroundImage = ":/shaders/Mega_Bezel_Community/Duimon-Mega-Bezel/Graphics/Arcade/Arcade_Horizontal.png"

I’m not implying that you actually use the texture image. It is just an example.

Why don’t I see what I can magic up for you? Did you want the dual line border also?

In the end I think you may be disappointed. While it sounds like a good idea, in practice you will find it doesn’t feel as good.

I am afraid you will find it is as tough or tougher than developing a good screen reflection image.

The thing is you can’t take a good photo of a reflection without the camera being part of it.

I spent quite a bit of time developing a method of rendering a sheet of glass in an HDRI environment. There just aren’t any public HDRI maps of an appropriate scene.