Mega Bezel Reflection Shader! - Feedback and Updates

If the following is set to 1 it should fill the whole screen and not move

[BG IMAGE]  Scale Mode - 0:Auto 1:Fullscreen 2:Fit Height

If that’s not what’s happening let me know and I’ll fix it :slight_smile:

1 Like

Awesome; thanks for your help! This time I used CRT-Guest instead. Here’s my updated preset with V 2020-04-19 Edit: It’s very resource intensive; undoable @ 4k unless you have current year flagship.

[Preset removed; deprecated]


The Mega Bezel Reflection shader is updated to V 2020-04-20


  • @frenki is right the background texture was always moving, so I fixed this.
    • Mode 0 : AUTO - moves the texture and scales it with the screen.
    • Mode 1 : FULLSCREEN - Scales the texture to stretch to the full screen both x & y
    • Mode 2 : FIT HEIGHT - Scales the texture to fit the screen height and x is unaffected, so you can have a 1.77 aspect ratio texture and it will just clip off the sides when used on a 16x10 screen
  • Only the shader was updated and no parameter names were changed so presets from V 2020-04-19 will still work.

That’s it! Now it works :smile: I’m so happy. This is a fantastic shader. You’re legend! Seriously: Your shader and your tribute for the community is outstanding. It’s a very big enrichment for the emulation scene. Thx for all your hard work, it’s really admired :+1:


Hey, thanks so much.

I’m glad the positioning is working for you, you have the honor to be the first one to leverage this feature :wink:

If you feel like it it would be fun to see what kind of overlays you are doing!

OK. I was bored. I was happy with my simple script for thebezelproject stuff but quite frankly thought it would take me longer than it did. So…

Keep in mind that in no way am I an expert in this stuff and the result of my work is not something I would actually give to the community, but…

What this does is the same as the first script (makes presets for the bezel project) but… this then crops the background image, dithers it to 5 colors and flattens it, generates an image histogram, extracts the RGB value for the least used color, converts that from RGB to HSV, and then edits the preset so the bezel has that color.

What we end up with are different colored bezels for each game that match the surrounding artwork.

It is REALLY clumsy and at least some don’t end up correct (in this case, as near as I can tell my default of HSV(0.0, 0.0, 0.0) is kept and the preset still works)

I have to actually execute 7 Batch files sequentially and on almost 2000 files some take a long time to run. But it works!

Again, I use system bezels so won’t use this but, I wanted to challenge myself.


that looks really good. very clever :slight_smile:


What settings do you need to change to get the blur around the game display, instead of the monitor bezel??


Hi, Thank you very much for your shader it is really interesting for realism. I am still in 1080P but over the evolution your shader becomes very interesting. The new curvature is really nice, there are still some problems of moire, to tell the truth if you manage to reduce the moiré and to embed a dithering settings it will not be far from being the perfect shader. Of course I sincerely think that to honor your shader you must have a good quality screen and probably be in 4K

I can see the difference between my TV and my computer screen both in 1080P

I also want to thank @Easymode and @guest.r without whom this shader would not exist

To all these shaders programmers thank you


As @Hunterk says it is really clever and really your “bezel-test” I like a lot I already use the script that you put above (with gsar.exe)

Would be possible to share the other scripts I find your idea really nice

Thank you


Thanks, and I also want to thank easymode, guest and trogglemonkey for their great shaders.

At some point I may see about trying HunterK’s moiré mitigation again as an option, It adds noise to remove the moiré effect.

About dithering settings, do you mean CBOD or Mdapt or something like that at the beginning of the chain similar to the GTU has been added?


Original info is here: Some of the options have changed and you can use my preset as a guide; I don’t change very much other than the blur.

1 Like

Hi, I updated this to the following:

Edig: Also if you see some crunchy distortion outside of the screen around the corners try switching to curvature mode 1 or 2 to do use the 3D distortion which does not have these crunchy bits.


While this works pretty well (and I like the noise effect, as it reminds me of some of my CRTs), it’s very expensive, resource-wise, and I think royale’s antialiasing is much more effective anyway.


I set up a git repo for anyone interested.


I’ve been seriously debating on setting up one for myself. (My own repo, not a repo for your shader.)

Congrats, on the repo!


Hey thanks again for your wonderful shader. How can I improve performance @ 4K using this preset? My GTX 980 is struggling with this version – worse if I enable the 3D curvature. I didn’t have this issue a few ~3 versions ago (1-2 weeks). The 2D reflection flashes a lot unless I use 3D curvature because it is an oval. :thinking:

1 Like

Thanks for the settings.

Is there a way to get the edge of the actual game screen to blend into the blur effect around the screen at all??. Heres how mine looks and just wonder if there was a way to setup a better transition between the game screen and the blur effect as there seems to be a narrow black border around the screen…

I did try altering the ‘[Tube] Black Edge Thickness’ & ‘[Bezel] Inner Edge Thickness’ settings but couldn’t get that thin black border to completely go away

1 Like

@BlockABoots I don’t have any suggestions for you, I just wanted to know what game is that?

Nevermind, appears google image search works better then I thought lol.

Try these:

[TUBE] Tube Edge Shadow = 0

[TUBE] Black Edge Thickness = -0.25

[TUBE] Black Edge Curvature Scale = 1


Which version specifically were you seeing run faster? It might be possible to make a new preset with some passes removed for a very similar effect since they may not be necessary since the effect is so different than a reflection off of a bezel. Also

If you are using guest-venom couple of the things you could try changing would be changing the passes below, you could change 16 to the blur9x9, and set 17,18,19 to stock

shader16 = ../crt/shaders/hyperspacemadness/hsm-blur-outside-screen-horiz.slang
shader17 = ../crt/shaders/hyperspacemadness/hsm-blur-outside-screen-vert.slang
shader18 = ../blurs/blur9x9.slang
shader19 = ../blurs/blur9x9.slang

About the flashing, can you post a screenshot of the issue? I’m not sure what you meant by this, do you mean that the reflection appears differently outside a center circle/oval area?