Yeah, I think we can worry about performance a little less.
That is a lot of presets! I got me thinking. Do you think there could be a way to add a toggle that basically switches between some of the presets? Like for example, the “Glass” and the “night” presets just seem to be visual changes as far as i am aware. It be neat if you could toggle a setting on that would automatically apply that look, although I don’t know if it is possible to that within the current shader system.
It’s an interesting idea, there are a few presets which are just adjusting parameters, some of these would be the night (This is just dialing up opacity on the top image), Vector, & N64 ones. The rest of the presets are actually different structurally, by this I mean choosing different passes.
The glass ones currently use #defines to turn on the glass effect which means that a different shader file needs to be used which references the main code (with #include) and adds the #define which turns on the glass effect. Although the glass effect might be able to be a parameter to turn on, at that point it would be all parameter changes.
If I can get the preset saving to only save parameter overrides then these presets could just be a reference to the base preset then the parameter changes.
Having a toggle to swap between sets of parameter values might be possible although you’d have to add some additional way to do this in retroarch, which in the end I’m not sure would be simpler than just having different presets to choose.
Still it’s an interesting, it’s something like choosing a base preset then choosing variations of that preset which are just parameter adjustments and so are fast to apply and don’t require reloading the shader, and ideally you wouldn’t need to choose them from directories, you would just step through the options. Although if there are texture changes the retroarch would actually have to load/initialize the new shader.
Maybe you could have the preset in a folder, then have a file named the same and instead of .slangp it would be .variation or something and it would point to other files which would have the settings for each variation.
Pretty interesting idea, then you would have only one preset for each preset with a unique set of shader passes, and all the variations would be easily accessable in retroarch.
First step is getting only changed parameters saved and loaded in retroarch which is something I’m starting to work on now.
Your work with these shaders is incredible. Appreciate!
Hey, did you remove the old option to extend the image inside the Bezel?
I use this pack in combination with overlays that I created myself. Perhaps my case is more specific. But now, it is more difficult to find the correct alignment of the corners, without affecting the bezel and reflections of the corners.
Before, I could adjust the frame first and keep it intact, then I could adjust only the image and bezel, keeping the beautiful edges of the frame.
Is there an option that does the same function in this new version?
Hi, and thanks, Welcome to the forum!
When you say extend the image inside the bezel do you mean having the background image appear inside the bezel? But behind the frame?
Could you include some images of what it looks like when you had it working the way you want? And could you include an image of just your overlay that you are using? This stuff might help me figure out what you’re after and if it’s still possible, or if we need to adjust something.
Thanks for the quick answer!! If I’m not mistaken, there was an option called 2D extended curvature. It allowed to extend the game image (while automatically reducing the length of the bezel) but without affecting the frame edges. In my case, I like to keep the vertical bezel edges wider than the horizontal ones, but I have misalignment of the reflections in the corners. I can correct the reflex by enlarging the bezel horizontally, but I completely lose the edges of the frame. So what I have: Desired bezel edge, but misaligned corner reflections or Reflections alignment OK, but no frame edges.
I wish I could change everything in the bezel without affecting the frame at all.
Thanks for your time!
I hope attached images can help.
Ok, I think I understand, is the main issue that the reflection in the corners is not aligned?
If so you can adjust the roration of these highlights with some parameters near the end of the list called [REFLECTION CORNER ROTATION] Offset Top & Bottom to correct the highlight.
Let me know if this fixes your problem, or if you are looking for a something else 
Edit:
After re-reading your post again it seems that because at least part of the frame is actually in your top-level image or overlay image that you would like the option of managing the frame scaling completely independent of the tube scaling, so you could adjust the tube & bezel without affecting the frame.
Let me know what you think 
Remi you are right. I managed to correctly align the reflections in the corners. Thanks! Do you intend to return with the old option that I mentioned in the previous post?
Yes, it would be interesting to be able to resize the bezel and tube without affecting the frame.
Couldn’t this already be done by adjusting the bezel height and width so that a bit of frame shows? (Don’t these parameters already provide independent scaling?)
Right now the bezel & frame size is relative to the tube/screen size, so if the tube gets bigger then the bezel and frame get bigger to accommodate the tube.
What a feature like this would be helpful for is where you have a static image which needs to line up with the frame somehow, and you want to set the frame size, then adjust the tube size without affecting the frame.
I’m still not sure how many people are using it in this way
This is exactly my case, since I use overlays outside the standard measures.
I’m fairly certain this can be done using existing parameters. Can I ask you to post the overlay you are using?
Yes, it is possible to make all the adjustments currently. Making the adjustment of the bezel and tube independent would be perfect.
Usually overlays are made to measure (4: 3 for most systems). But I created ovelays without worrying about measures. The game image area has an approximate value of 1632x1248. See image:
Looky here!

How close are you to your TV?
Probably not handy as doing something within Retroarch, but if it helps, I might be able to help with an AutoHotKey script…
AHK scripts are pretty useful to modify text files, eg: manipulating an .slangp or a .cfg. Or even, copying/pasting files (like having a folder with profiles to copy and paste over the current loaded).
The downside is that the user would need to have AHK installed to run the script, or have one .exe running the compiled script.
Mega Bezel is updated to V 2020-08-10
Changes:
- You MUST use the latest Retroarch release, at least 1.9.0
-
Retroarch 1.9.0 is required because the shader now leverages increased maximum number of parameters, textures and shader passes
-
Presets have been renamed slightly
-
All presets (Including Royale) now include Dogway’s awesome color correction shader Grade!
-
Most of the old color correction has been removed and is replaced by grade
-
Fake scanlines to respect vertical scanline direction
-
Tube Glass Image Scale, scale the reflection on the tube glass
-
Documentation added for most Parameters in shaders_slang/bezel/shaders/HyperspaceMadness/Mega Bezel Readme.txt
-
Performance of Guest-Venom Preset on Nvidia RTX2060: * 3840x2160 - 155 fps
Mega Bezel Still to Come:
- Frame & Bezel
- Frame edge bevel width and opacity
- Adjust bezel outer corner without affecting corner highlight
- Scanlines
- Get GTU to respect scanline direction
- Implement Rolling scanlines & interference similar to Newpixie-Crt
- Color Management/Correction
- Add Color Management
- Brightness balance the presets so they are consistent, some are currently brighter than others
- Geom-Deluxe Version
- Split Screen
- Autodetect Split Screen
- Split screen working with Citra Side by side (Control of Split Center)
- Split screen with small second screen as small on right
- Split screen fix center area between bezels with tilt
- Royale - Add Sampling support for cropping & downsampling behavior
- Fix garbage pixels in guest-sm
- Add some standard deconvergence which can be used with the rolling scanlines
- Screen Scale Newpixie
- Reflection on areas outside the frame, e.g. Arcade Speaker Panel and Control Panel
- Image Layers
- Dedicated Night Image
- Dedicated Lights Image
- Frame Gradient Image
- Tube Scratches Image
Nice update!
An ambitious list! I have learned to expect nothing less. 
Hmmm… I wonder how I can use this. 
You’re the best!!!
Thanks, I really want to thank @Dogway for the awesome work put into Grade, it combines so much great stuff! And integrates a lot of knowledge about how all the signal & color transforms work and make it really useable.

