Mega Bezel Reflection Shader! - Feedback and Updates

Man, this gets better everytime :smiley: Is there a way to make it work with the two first passes of GTU? It fails to load no matter where I put those in the shader chain.

1 Like

First off how are you trying to add them to chain, are you editing the preset or trying to add them via retroarchs menu?

The issue for either method could be caused by how the shader works (the shader references other shaders in the chain in a specific order so if you add a shader in-between passes it’ll mess things up.)

Thanks for checking! I’m using something like this, editing the preset file:

shaders = "22"
shader0 = "shaders_slang/crt/shaders/hyperspacemadness/hsm-stock-with-mega-screen-scale-params.slang"
filter_linear0 = "false"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"
shader1 = "shaders_slang/stock.slang"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = ""
float_framebuffer3 = "false"
srgb_framebuffer3 = "false"
shader2 = "shaders_slang/crt/shaders/gtu-v050/pass1.slang"
filter_linear0 = "false"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"
shader3 = "shaders_slang/crt/shaders/gtu-v050/pass2.slang"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = ""
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"

The moment I load this I obtain “Failed to load shader preset”. I discarded combining the NTSC shaders a while ago in this shader preset for the same reason, but I started to love what GTU does. It would be perfection having this combined with the Venom shader.

I will miss the ability to add a drop shadow to the frame in Photoshop but the auto generated frame makes a lot of other things easier. It is a fair trade.

1 Like

And Mario Kart on the Wii with the new shader and my editing of the shader parameters.

Ms. Pacman on MAME.

1 Like

Joust on MAME.

1 Like

I can only post one image at a time. Here is NFS3 with the brightness turned up on the bezel and the foreground edited to match.

edit: The new version of the shader auto generates the frame as well so it’s brightness always matches the inner bezel. My job just got easier :grin:

2 Likes

I figured out how to disable the shadow by editing the hsm-bezel.slang shadow mask value but making it easier for other people would be cool.

Here are some screenshots…

Rayman on the Playstation using the less recent version of the shader.

edit: FYI this post should have been before the previous Playstation post. Now that I am no longer restricted to posting only one image at a time this won’t happen again. :grin:

1 Like

Good possibility you need to load the GTU passes before anything else. Also are you only loading 4 passes (shaders), it says 22 at the top but what you posted only shows 4 passes? (Quick side note, the very first line in the preset has to be updated if you add or remove shaders, the 22 I spoke of and that number will always be one higher then w/e the last number written down is because passes are labeled starting at 0. Also make sure all the passes have the correct numbers 0-#"whatever number the last pass is.)

As you’re doing exactly what I said would be an issue, you inserted the GTU shader passes in-between the “main shader passes” for this shader, which “should” automatically break things.(Not sure how anal slang shader are about pass ordering, glsl is super anal about it.)

Thanks. I only copied a snippet but I had the whole chain. I was replacing a couple of stock.slang shaders in the chain so the amount of shaders was 22, and the numbering was sequencial. But no luck, I even tried adding GTU in the beginning and arranged the numbers accordingly, no luck :frowning:

So I actually left a few passes “empty” with the stock.slang in them near the beginning of the preset for swapping out for De-Dither & ntsc filters, this is where I would recommend putting GTU. To put it in I would recommend making a copy of the preset, then edit it in a text editor.

As for why it may be Failing, it could be because you’re hitting the max parameter limit. How many parameters does GTU have?

I might try out putting GTU in today and see how that goes.

2 Likes

I think the loading time is much improved from the last version. I don’t feel the wait like before anymore.

About moving between versions: The best way to deal with this in the short term is to copy the preset, make the parameter changes you need to in this copy, so you can see what are your custom settings are, then copy and paste them to a copy of the new preset when it comes. I know this is cumbersome, but it’s the only method I’ve personally found to deal with a preset which has changes in the passes.

The main problem with saving presets through retroarch is that when you make parameter changes and save a preset from within retroarch it dumps everything into a big list of stuff which is no longer organized to be easily editable by a user and the structure of the preset is now duplicated into the new preset and this is now completely divorced from the master preset. It is also now hard or impossible to know which parameters have changed.

Sometime in the future I’m hoping to change the retroarch preset saving so that when you load a master preset, change some parameters and save a new preset, the new preset will only have a path to the original preset, and only the parameters you changed. This way the master preset could change and your would get these changes and your parameter adjustments would be applied in top.

There is a bit of discussion about this on this github issue

2 Likes

New update to the Mega Bezel Reflection shader:

There is now a Guest-Venom-GTU version, it integrates the first 2 passes of GTU and operates on the core resolution, rather than scaling X up to the viewport resolution on the second pass.

(For those curious before when someone tried to add it, it was failing to compile because we went over the limit of number of parameters)

There is now a Frame Shadow Opacity parameter to increase or remove the shadowing around the frame

Also just a note the parameter hmss_integer_scale_on has been renamed to hmss_integer_scale_mode in advance because I’m going to try to add the mode to control the integer scale, e.g. both directions

3 Likes

What do the GTU passes do exactly?

1 Like

They add YIQ/Composite type filtering effect like you get in a TV signal, I haven’t played with it that much so someone else could explain it better, but basically it applies the sort of smoothing/blurring effect you see in old tv signal, especially when you turn the composite option on.

I also put an On/Off switch in there too so you can switch it on/off to see the difference.

I am not a big fan of those kind of effects but that is great for those that like it. Here some handheld screenshots with the shader. Interesting look.

2 Likes

I noticed that with the newest version the scanlines do not look correct with vertical games with Retroarch Mame. It looks like it is applying vertical and horizontal scanlines at the same time.

1 Like

Not to sound rude but can you try changing masks and see if that’s the issue?

Alot of users tend to mistake mask effects for vertical scanlines.

My CRT mask was on 0 by default which is CGWG. I tried 1-4 Lottes and 5-6 Trinitron and all those did not look correct with vertical scanlines. I changed the CRT Mask to -1 which I guess is off and the vertical scanlines then look correct. The horizontal scanline games in Mame look fine with CRT Mask at 0 CGWG just not the vertical games.