Mega Bezel Reflection Shader! - Feedback and Updates

Yes. There is a “Frame Thickness” parameter and Bezel “Height” and “Width”. There is also Reflection Corner “Corner Rotation Offset” if things get misaligned. (If you decide on more bezel width than height.)

4 Likes

This is an amazing shader pack. Thank you to all involved. It is a stunning accomplishment.

I think I found a small bug / issue:

If you look in the file: bezel\Mega_Bezel\Presets\Variations\Dual-Screen-DS__MBZ__2__STANDARD__LCD-GRID.slangp

… You can see the reference line:

#reference “:/shaders/shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__STANDARD__LCD-GRID.slangp”

… I think this line should be this instead:

#reference “…/Base_CRT_Presets/MBZ__2__STANDARD__LCD-GRID.slangp”

… Otherwise, if you keep your shaders outside of the RetroArch root folder (as I do) you may encounter relative path issues.

I notice that at least some files have the correct relative path setup, though, such as: bezel\Mega_Bezel\Presets\Variations\Dual-Screen-3DS__MBZ__2__STANDARD__LCD-GRID.slangp

Thanks.

2 Likes

@HyperspaceMadness: I’ve been following this thread and Duimon’s for a while now. I wanted to say thank you for all the effort you’ve put into this incredible shader! It’s now the default for all of my Retroarch cores. Hard to describe what a difference it makes!

5 Likes

Thanks! It’s still going in part because of the feedback that people are using and enjoying it!

So this is something that I have gone back and forth on and I’ve settled on the following:

  • Presets in Base_CRT_Presets (Which are the full base presets which define all the passes) use relative paths for all the shaders textures. Relative paths are used since this is the only place these base presets should live, and it also supports someone who puts their shaders folder somewhere else.
  • Presets in Variations (These are Simple Presets which have the #reference line in them) use absolute paths, e.g. :/shaders/shaders_slang… This is so that they can be copied anywhere else and edited by the user and they will still work.

Basically we are faced with the decision of if the presets should be relocatable, or the entire Mega_Bezel should be relocatable (But this means all the presets must be stored under here and they are not re-locatable without changing the paths inside them)

So in the end I opted for making the presets relocatable as these are the things which most likely need to be able to be copied and moved so they don’t get mixed up with the Mega Bezel package and maybe deleted when you update the Mega Bezel package. If you are still seeing some presets in variations with relative paths, then they are some that I missed and still need to convert to absolute paths.

What I would suggest if you like to keep your shaders somewhere else, is to do a search and replace after you update your Mega Bezel package to replace the absolute paths with relative paths. You can replace

:/shaders/shaders_slang/bezel/Mega_Bezel/

with

../../

I suggest Visual Studio Code for this as it will let you search and replace through many files very easily, it’s a fantastic code editor and it’s also free

image

1 Like

Thanks! I’m glad it’s working well for you :smiling_face_with_three_hearts:

Originally when I started working on this I really wanted one shader that I could generally reuse over lots of cores too :grinning:

4 Likes

Thank you, my friend, for this detailed explanation and the advice on how to edit filepaths. It is very thoughtful of you.

For what it’s worth - I wondered if it would be best for the HSM shader folder to sit ALONGSIDE the standard RA shaders folder (named, say, ‘shaders_HSM’). That way all HSM shader file include declerations can be set as relative paths. Advantages of this approach would be:

  1. All HSM shaders are portable. only requirement is to have default RA shaders folder alongside it.
  2. RetroArch’s in-built asset update process won’t be in danger of overwriting / deleting HSM files.
  3. RA installer won’t overwrite HSM assets.

… I am sure there are drawbacks to this approach, but I figure it might give you some food for thought :slight_smile:

3 Likes

Here’s a sneak peak of the screen edge curvature I’m working on over here with almost no screen curvature, so even with strong scanlines I don’t see any moire

7 Likes

I’ve had a great deal of fun the last few days getting used to this incredible shader pack. I have some questions I would like to run by you good people.

  1. Is possible to disable the “Mega Bezel” splash screen that appears when I launch a DS preset shader? Please do not take this question as a form of ingratitude x

  2. Is it possible to to alter the gap size between the two screens when running a DS shader? I use the wonderful MelonDS core which, sadly, does not include a core option to tweak gap size. It would be great to see a HSM preset that only adjusts the screen locations (i.e. no bezel). I think that would be very powerful. I must admit - I could not see how to make this change as I went through the shader scripts.

  3. Over the last 2 days I’ve seen some lovely screenshots of a dark red 3DS using HSM shaders in this forum thread… @Duimon 's work?. Looks ace! Is this preset and border graphic available, or is it in development?

Thank you to anyone who can help :slight_smile:

1 Like

Thanks!

2 Likes

Yup, it’s made to be disabled if desired, it’s down nearer the bottom of the parameter list, the parameter is called

[ INTRO SEQUENCE ]____________________
    Show Intro - OFF | When Content Loads | Repeat

Set this to 0 to disable it. You can also put in your own graphics if desired. It currently needs a fix when dealing with dual screen presets, it stretches over both screens when it should probably only go on the first screen, I will probably fix this soonish.

Yes I’ll add one like this, it will be a BASIC-BORDER version so will run the fastest it can.

Yup, just increase the following value

[ DUAL SCREEN ]____________________
    Position Offset Between Screens

Yup that’s @duimon’s great work, it’s probably the 3ds with a HSV color offset.

Take a peak at his stuff over here: https://forums.libretro.com/t/duimon-hsm-reflection-shader-graphics-feedback-and-updates

How do I adjust the background image? :stuck_out_tongue:

1 Like

You don’t, :wink: you adjust the shader parameters to fit the graphic.

I have a preset in my repo but it will be changing soon.

For now, the Standard preset is:

#reference ":/shaders/shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__2__STANDARD__GUEST-DrVENOM.slangp"
HSM_ASPECT_RATIO_MODE = "2.000000"
HSM_BZL_NOISE = "10.000000"
HSM_FRM_SHADOW_OPACITY = "100.000000"
HSM_FRM_SHADOW_WIDTH = "50.000000"
HSM_FRM_OUTER_EDGE_SHADING = "40.000000"
HSM_LED_OPACITY = "0.000000"
HSM_NON_INTEGER_SCALE = "71.770172"
HSM_SCREEN_POSITION_X = "-89.000000"
HSM_CURVATURE_2D_SCALE_LONG_AXIS = "150.000000"
HSM_CURVATURE_2D_SCALE_SHORT_AXIS = "150.000000"
HSM_SCREEN_CORNER_RADIUS = "48.000000"
HSM_BZL_INNER_CORNER_RADIUS_SCALE = "106.000000"
HSM_BZL_WIDTH = "173.000000"
HSM_BZL_OUTER_CORNER_RADIUS_SCALE = "429.000000"
HSM_BZL_COLOR_VALUE = "50.000000"
HSM_FRM_INNER_CORNER_RADIUS_SCALE = "5.000000"
HSM_FRM_THICKNESS = "15.000000"
HSM_FRM_OUTER_CORNER_RADIUS = "14.550036"
HSM_FRM_SHADOW_OPACITY = "0.000000"
HSM_REFLECT_CORNER_INNER_SPREAD = "400.000000"
HSM_REFLECT_CORNER_OUTER_SPREAD = "10.000000"
HSM_REFLECT_CORNER_ROTATION_OFFSET_TOP = "-2.500000"
HSM_REFLECT_CORNER_ROTATION_OFFSET_BOTTOM = "-1.500000"
BackgroundImage = ":/overlays/bezel/Duimon/Logo/TV5.png"
LEDImage = ":/overlays/bezel/Duimon/Logo/TV5_LED.png"

With the path to the graphics matching the last two lines if text.

:/ = Retroarch root.

So the full path of the last line on my system would be…

D:/Retroarch/overlays/bezel/Duimon/Logo/TV5_LED.png

There is nothing magical about my presets though. I’ve just had a little practice. :grin:

3 Likes

image

Mega Bezel is updated to V 0.9.09 2021-05-04

Changes:

  • Rename the compare parameter to CRT vs ORIGINAL A/B COMPARE
    • There is also now an on/off so you can turn it on and see the splitscreen down the center
  • Added controls for adjusting the curvature of the black edge of the screen without affecting the screen distortion
  • Fixed Auto scanline direction with Dual Screen
  • Night Lighting can now be scaled. STANDARD now has Night Lighting mirror parameter
  • Added Basic-Border Presets for DS
8 Likes

Nice update! I can’t find the black edge controls, what heading are they under? Thanks for your hard work, really enjoying the bezel reflection.

Also, what line(s) do I need to add to a simple preset to change the background image?

3 Likes

Would you consider adding this one? Classic Trinitron from the 70s, bezel is centered so no extra fiddling with parameters would be required to make it fit.

2 Likes

I would be happy to. :grin: I hadn’t planned on adding any more vintage TVs until I finished the rest of the core graphics, but I am flexible and there is no deadline. I’ll push it a little higher up the list.

Any chance on a model number so I can find some more sources?

Thanks for the inspiration.

3 Likes

Ah! I should not have missed these… they were right under my nose. My thanks as always!

And finally, MelonDS gets a screen gap! What a shader pack!

3 Likes

Look for

[ SCREEN EDGE ]________________

It’s the edge curvature parameter in there.

To change images you need to add a line which specifies the texture path. Take a look at Duimon’s presets for examples.

Here’s what one line looks like

BackgroundImage = ":/overlays/bezel/Duimon/Logo/TV5.png"

To get a list of the possible textures you can look at in the base presets near the bottom

Sometime soon I’m going to try to add a feature to retroarch so you can choose a texture through the UI which would be much more user friendly :grin:. It’s the next feature I’m going to work on in retroarch. It requires making changes to the UI which is a real pain :grimacing:, so wish me luck!

2 Likes

https://collection.sciencemuseumgroup.org.uk/objects/co8066774/sony-trinitron-colour-television-1969-1970-television-receiver

Model KV-1320UB

3 Likes

Impressive how Sony demonstrated superiority in all its TV models. You can see it on the Trinitron line. Even in the 1970s, TVs always look better developed and flatter than those of other manufacturers.

3 Likes