Mega Bezel Reflection Shader! - Feedback and Updates

Hi everyone.

I’m trying to do my own overlay with the megabezel layers.

according to my mood or if want to play on my tv, i change the “non-integer scale offfset” like on my screenshots. Is there a way to change this parameter on the fly without reloading a shader ? I want to do this smoothly, like a transition between the little screen to big screen ( a bit like on the retroarch menu when you modify the parameter)

can you bind an hotkey to only change this parameter ?

Sorry if i was not clear, english not my native langage

7 Likes

Hi. which preset is that? I like the brightness and bloom of that preset. Looks awesome and realistic…

its MBZ__0__SMOOTH-ADV__GDV with some adjustements.


#reference "shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__0__SMOOTH-ADV__GDV.slangp"


HSM_AMBIENT_LIGHTING_OPACITY = "100.000000"
HSM_AMBIENT2_OPACITY = "80.000000"
HSM_AMBIENT_LIGHTING_SWAP_IMAGE_MODE = "0.000000"
HSM_AMBIENT1_SATURATION = "60.000000"
HSM_AMBIENT2_SATURATION = "60.000000"
HSM_ASPECT_RATIO_MODE = "2.000000"
HSM_NON_INTEGER_SCALE_OFFSET = "92.000000"
HSM_SCREEN_POSITION_Y = "20.000000"
HSM_CROPPING_EMPTY_LINE = "0.001000"
HSM_INTERLACE_TRIGGER_RES = "200.000000"
HSM_FAKE_SCANLINE_OPACITY = "70.000000"
HSM_FAKE_SCANLINE_RES = "288.000000"
HSM_FAKE_SCANLINE_ROLL = "-15.000000"
HSM_LED_LAYER_ORDER = "5.000000"
HSM_DEVICE_LAYER_ORDER = "4.000000"
HSM_DEVICELED_LAYER_ORDER = "5.000000"
HSM_CRT_LAYER_ORDER = "2.000000"
HSM_BG_FOLLOW_LAYER = "1.000000"
HSM_BG_SCALE = "131.000061"
HSM_BG_POS_Y = "-3.149998"
HSM_LED_OPACITY = "0.000000"
HSM_DEVICE_BRIGHTNESS = "15.000000"
HSM_DEVICE_FILL_MODE = "2.000000"
HSM_DEVICE_SCALE = "129.999695"
HSM_DEVICE_POS_Y = "-6.100005"
HSM_DECAL_BRIGHTNESS = "70.000000"
HSM_DECAL_FOLLOW_LAYER = "4.000000"
HSM_DECAL_FOLLOW_MODE = "1.000000"
HSM_CAB_GLASS_OPACITY = "2.000000"
HSM_CAB_GLASS_COLORIZE_ON = "1.000000"
HSM_CAB_GLASS_HUE = "230.000000"
HSM_CAB_GLASS_BRIGHTNESS = "100.000000"
HSM_CAB_GLASS_FOLLOW_LAYER = "1.000000"
HSM_CAB_GLASS_FILL_MODE = "2.000000"
HSM_CAB_GLASS_SCALE = "110.299843"
HSM_CAB_GLASS_POS_Y = "-2.699999"
HSM_INTRO_WHEN_TO_SHOW = "0.000000"
HSM_DEDITHER_MODE = "3.000000"
HSM_SCALEFX_ON = "0.000000"
GTU_ON = "1.000000"
compositeConnection = "1.000000"
signalResolution = "224.000000"
signalResolutionI = "99.000000"
signalResolutionQ = "39.000000"
g_sat = "-0.060000"
glow = "0.010000"
SIGMA_H = "1.700000"
SIGMA_V = "1.700000"
mask_bloom = "0.300000"
shadowMask = "0.000000"
masksize = "0.000000"
GDV_DECONVERGENCE_ON = "1.000000"

Thanks, I really appreciate that. I’m always using slot mask preset, but I wanna give a try to this trinitron look alike, it looks awesome. Thanks :smiley:

1 Like

There is currently no way to bind a hotkey to a shader parameter… I’m not even sure it’s possible to implement with code changes to Retroarch.

Even if it was possible to add a hotkey… I’m sure the shader would have to be reloaded to make the change. (Much like an internal resolution change in the core causes a shader update.)

Currently… if you load a preset automatically (via game preset or --set-shader command line.) the “remembered” shader folder is the root shaders folder. My hope is that @HyperspaceMadness will find the method and time to change that. If so, you could have two shaders in a folder and use the “Previous” and “Next” shader hotkeys to switch.

The preset would still have to load though, so your dream of a seamless change is and will always be out of reach.

2 Likes

Ok then i wiil just switch between presets.

But when you change the scaling in the shader menu, there is no need to reload the shader or apply modification, u just see the modification on the fly across the menu. So maybe in the future it will be possible :thinking:

Thanks for answering me anyway

You are correct that technically it would be possible, but creating a straightforward user experience which isn’t confusing tends to be the difficult part.

2 Likes

There is a workaround but it gets kind of messy.

If you create an override config that sets the root shaders folder and pass it on the command line with everything else.

For example.

retroarch_4K.exe -L "E:\RetroArch\cores\mesen_libretro.dll" "E:\Emulation\NES\Adventures of Lolo (USA).nes" --set-shader "E:\RetroArch\config\Mesen\Famicom.slangp" --appendconfig="E:\RetroArch\config\Mesen\custom.cfg"

The custom config only contains…

video_shader_dir = ":\config\Mesen"

To make it easier you could eliminate the --set-shader command line and just pass the append if you set a core preset. So the command line would be…

retroarch_4K.exe -L "E:\RetroArch\cores\mesen_libretro.dll" "E:\Emulation\NES\Adventures of Lolo (USA).nes" --appendconfig="E:\RetroArch\config\Mesen\custom.cfg"

and the presets could be named…

Mesen.slangp and Mesen_Night.slangp and be located in the /config/Mesen folder.

Then the “Next Shader” hotkey could be bound a button to switch using the gamepad.

Note that in this scenario, none of your presets or reference presets could be using the

:/shaders/

syntax (They would all have to be relative or absolute paths.) because :/shaders/ would point to the /config/Mesen folder instead of the root shaders folder.

1 Like

What about an “Alternate” reference that points to a chuck of preset code.

#Alt_Reference = “my_alternate_settings.params”

and a hotkey to enable or disable it?

This could also be useful when a vertical preset needs some X position etc. adjustment.

1 Like

Thank you guys, really appreciate the help. I will investigate your method Duimon :male_detective:

@HyperspaceMadness You told me there might be a possibility to add the accumulate modulation, i dont want to force you with my whim, but if its not too much work for you, can you add it in the future. i would be the happiest Megabezel user :pray:

Once again, thx for your masterpiece

2 Likes

Some new pics… trying to improve my brightness…

3 Likes

so far it worked so fine to use the 3d tilt also for the overlays…

even for ultrawide games

but if i go to use the dual screen option

i now get this . i guess the reason is i use the follow option with this presets… problem is if i disable it for the second screen the overlay from the first gets just cutoff

^^ something i missing here ?

5 Likes

With dual screen, there are currently some limitations on the layers that can be displayed full while following the Tube. In this circumstance you’ll have to abandon the practice of using the tilt feature to tilt the Decal with the screen.

Even if the layer were to be displayed full it wouldn’t work as expected without some changes by HSM.

The dual screen parameters function, but are a WIP compared to the rest of the shader. (That doesn’t mean they aren’t just as magical.)

3 Likes

i was kinda suprised that it just duplicate the whole images usefull for the gb dual core i would say ^^

1 Like

I think Duimon mentioned recently that the tilt could cause some extra performance drag… have you noticed anything?

2 Likes

at 1440P they work all fine for me :sweat_smile: but 4k drags on the performance

2 Likes

i should maybe mention that dolphin (my fzero ax preset) also was tilted just the tube but the funny thing is the performance hit is the same.

atari 2600 runs like fzero ax in fullspeed on 1440p and in 4k both get the same fps hit :laughing:

I’m working on an arcade preset for the game, Wacko, which had a tilted monitor inside the cabinet. I have the overlay bezel set up, but I’m wondering if there is a shader parameter that will allow me to rotate the game screen so that the game image is properly tilted? Thanks for the help.

1 Like

isn´t just the cabinet tilted at every thinkable angle ? the screen is normal i think

iwas looking again and i am not sure anymore i saw it even once in RL but one one image it looks even , on the next on its a bit tilted and this goes one :laughing:

but your question i think you can just use the tube 3d function to tilt the screen and just for 2 axis so far i know that one that you want you can just get horizontal and vertical ^^

2 Likes

Pretty sure the screen is actually tilted. The cabinet is straight. If you boot up the game you can see the graphics are at an angle to match the monitor.

Actually, everything is at an angle… lol. Pretty cool, really.

2 Likes