Mega Bezel Reflection Shader! - Feedback and Updates

Once you narrow down what you’re looking for, maybe ask a more specific question.

There were lots of changes to taps, sharpness calibration of CRT-Guest-Advanced-NTSC, Chroma/Blending, the way custom and preset settings are enabled via the NTSC Resolution Scale, behaviour of rainbow effects. In general, all of my NTSC presets might look more blurry than intended and possibly less saturated in post 1.14 versions.

Even Mask Stagger has been replaced leading to less fine tunability of Shadow Mask settings while making it simpler for a noob to turn on the Shadow Mask.

In my opinion many of the changes which have come from user feedback might sometimes be a bit premature. I tend to try to milk whatever look I’m going for for quite some time using what is available before asking for things to be hard coded in the shader.

In short newer isn’t always better and updating for updating sake (just to stay up to date) is sometimes counter-productive or futile, especially if the updates break something that was basically at an almost perfect steady state.

Think about it this way, how often do you need to update your CRT?

Anyway, that’s merely my opinion.

For the changes to hue, you can read all about those on Dogway’s Grade thread.

My presets, were never designed with the new Grade in mind.

So in general it’s a big mess trying to keep these presets up to date in lock step with the latest Shader changes and many of the updates are not necessary in the context of the preset pack and many times end up making things look worse than before. Then it’s a fight to try to get things close to back to what they were before when all that’s really needed is to revert to a previous version of the Shader and everything looks great again.

2 Likes

Hmm, this is really weird, because the base preset files and shader files get updated at the same time, so should always match.

You may want to take your own packs and presets out of the shaders folder, then do the ‘update slang shaders’ action in the retroarch menu which will download a new set. I’m not sure if you will get a better result but it might be worth a try.

You could also get a new Mega Bezel package from my GitHub releases. If that doesn’t work, then it seems like something really strange is happening…

2 Likes

It’s more or less compatible with previous settings and definitely not only more “noob” friendly, but definitively and most important tweaker friendly.

Now you can tune the shadowmask with all the other mask settings without the need to adjust the shift amount. If the final mask size is even, you’ll get a “perfect” shadowmask, otherwise a compromise.

It’s impossible to get a perfect shadowmask with odd sized masks and you get basically same results with old and new approach.

I’m only stating that some concerns are to exaggerated, the only major change lately which affects presets is “positive” halation, but it doesn’t break presets. “Positive” and “negative” halation effects were very similar, so “negative” halation is to be used for the old looks. Other changes shouldn’t break presets if they are from prior two years or similar.

Edit: the other “major” change is that now 2-phase and 3-phase “bleeding” settings are separated, but this only benefits general ntsc presets.

2 Likes

Any additional help for the following :

BackgroundImage = "MyImage.jpg"

How can i do it? And where i add the jpg image?

1 Like

The image can be anywhere on your device, you just have to include the correct path so that the shader can find it.

You can open some shader preset files and you’ll see examples of what to do.

If you look in my MBZ__3__Standard_Full_Reflections_CyberLab_Special_Edition folder, you’ll see some examples of this.

If you load a shader preset, and save a core, game, or content directory preset, you can open the saved file in a text editor.

The file can be found in the config folder of the currently active core. (e.g. E:\RetroArch\config\Beetle PSX HW\Beetle PSX HW.slangp)

If you put the image in that folder you don’t need to use a path. ( i.e. BackgroundImage = "MyImage.jpg" would suffice.)

Edit: If you just save a normal preset, it can be found in the root shaders folder. (e.g. Retroarch\shaders\MyPreset.slangp.)

As above, if you put your image in the root shaders folder, no path would be required.

A more tidy method would be to create an “Images” folder (or My_Backgrounds etc.) within the root shaders folder. (Retroarch\shaders\Images)

Placing your JPG there your path would be. BackgroundImage = "Images\MyImage.jpg"

1 Like

Sorry if this has been asked before. Tried to search and read but I’m a little confused.

I want to use Retrolust lights out bezels with Mega Bezel Shaders. I have RetroArch handling the overlays. When using mega bezel the frame does not fit in the viewport of the bezel, so I have edited the bezels in photoshop to make the screen/frame fit nicely in the viewport of the bezel. But this method takes some time to do. Then I read about this auto placement, does this work when retroarch handles the overlays? Or must the shader has the bezel as an image? If I use the auto placement, how does it work? Will it scale the screen or just the frame/reflection around to make it fit, so the game maintain the correct aspect.

Instead of using the overlay system, you need to define the overlay as a layer in the shader preset.

If you go to the beginning of this post and download the examples package, there are examples of MrRetrolust overlays being used in a Mega Bezel preset.

1 Like

Thank you, will have a look!

@HyperspaceMadness Hi! I’d like to request a new feature. I know your amazing shader has a function to automatically crop out black pixels, but the problem is that when the game changes scenes, it can cause some bugs. The black color appears in some transitions, which makes the autocrop try to cut it out, causing the screen to shift. I’d like to suggest a function where the shader detects and crops the game, but after this initial crop, it stops the automatic function. I know you can already do this manually, but what I’d like is an initial automatic crop (when the player chooses) and then lock this specific crop in manual mode. However, when switching to manual, it shouldn’t keep the percentage but only the black pixels that were cropped. I’m not sure if I managed to explain myself clearly.

I’ll try to give an example: Player enters Mario Tennis, the game is full of black bars, player goes into the settings, selects to cut the black bars, the shader detects the pixels that were cut, player activates a manual lock, only those pixels will stay cut from now on.

2 Likes

With all the jumping back and forth into the parameters dialog, I’m not sure it would be any more advantageous than manually setting the crop.

Maybe some kind of averaged crop algorithm combined with crop persistence to survive the scene changes.

I’m sure @HyperspaceMadness has some thoughts.

1 Like

Edit, I just realized i totally misunderstood the request, or maybe not? I’ll leave the faulty reply just in case…

I tried to implement some sort of dynamic autocropping, no autocentering tho.

It uses some heuristic to detect scene changes and reset the cropping, so it cannot be perfect.

This is an example where it works well, it’s a video from an old implementation, but it is enough to give the idea.

It is available under border/autocrop-koko.slangp and can be prepended.

My idea is to have an initial autocrop at a moment chosen by the user (usually when the game is already in the main gameplay area) controlled by the user within the shader parameters, which will remove all the black pixel areas around with just one button, and another button to lock this crop. Of course, this might result in some other areas of the game having black lines, but most of the game will look normal. The idea is to avoid having to manage the percentages so precisely, especially since my OCD makes me never sure if I cropped it right.

1 Like

So Autocrop is on… the user plays the game until they are happy with the cropping… the user goes into the parameters and turns on a “Lock Current Autocrop”. And @HyperspaceMadness figures out a way to migrate the percentages to the manual cropping so it can be saved. (A new parameter in the cropping section… “Follow Autocrop?”)

If accuracy during the entire game is not the end goal, perhaps it would be easier for HSM to do the work using the Crop Zoom feature.

3 Likes

Let me explain my thoughts here.

My thoughts were to have a minimum frame count (Or seconds?) before the cropping changes.

This combined with the already present “CROP BLACK ONLY” and “Black Threshold” should solve the issue without any need to set parameters for each game. (Some systems need consistent cropping across all games, but a few like the Atari Jaguar and Amiga are all over the place.)

Maybe there is a way to get a sample of the game (In the code/background) with higher gamma, to make the Threshold setting more accurate?

1 Like

Hello HSM, Duimon and many friends :slight_smile:

I have a doubt, look this project that use Retroarch Shaders but this method is a overlay to work in Any / Every PC Software like VMWare, PCEM, VBox…

Do you think it would be possible to add Overlays like Duimon’s incredible Presets to this Software?

2 Likes

Hello, is there a way for me to fix Anti-flickering not working? I tried enabling it with multiple presets, but nothing seems to work. I also tried switching between Vulkan and GLCore video rendering to see if it’d make a difference, but nothing came of it.

1 Like

HI all . Thank you for the shaders I am on win 11 rtx 4080 and 2k display . How do i make this shader not have the monitor curvature and maybe be a bit bigger in full screen ? I use retro arch and vulkan and i play SNES and PS1 games

Unfortunately no, I realized sort of recently that it’s been broken for a while

2 Likes

That would be a sad no. :frowning_face:

The shaders are hard coded in to the software. Even if the Mega Bezel and all of it’s base presets were integrated, there would be no way to load one of my reference presets on top of them.

AFAIK there aren’t any border shaders integrated, I assume for good reason. (Most likely the bloat caused by additional LUTs.)

The Windowcast core is your best bet ATM.

3 Likes