Mega Bezel Reflection Shader! - Feedback and Updates

I just had a thought. Is there a way to mimic

Curvature>Curvature mode>3:3D Cylinder

in 2D?

3D Cylinder is unplayable for me on a 5900x + GTX 980 4GB (doh!) at 4K

3 Likes

Yes the short and long axis have separate parameters so you can remove the curvature from the sides.

It is what I am doing here…

5 Likes

Awesome. So this is 5 and 100 or ___?

1 Like

Default settings with the long axis set to 0.000000 curvature.

I do have the width of the bezel increased and the height decreased,

HSM_CURVATURE_2D_SCALE_LONG_AXIS = "0.000000"
HSM_BZL_WIDTH = "160.000000"
HSM_BZL_HEIGHT = "70.000000"

and I had to tweak the corner highlight rotation.

You can look at my PVM20 presets.

4 Likes

Imho better way would be to add additional curvature code for the 2d cylinder curvature.

I had a modified version of one of the 2d curvatures for that.

2 Likes

Yes this would probably be a nice ease of use, so we could have the curvature mode being something like:

  • 0 - No Curvature
  • 1 - 2D
  • 2 - 2D Cylinder
  • 3 - 3D
  • 4 - 3D v2
  • 5 - 3D Cylinder

I did some testing, and I probably won’t be able to replace the Royale curvature with CRTGeom’s, it has has discontinuities outside the screen which is a deal breaker for the reflection, especially for the Glass preset. It also doesn’t look quite as good with a significant amount of tilt.

3 Likes

Imho flip the order of 4 and 5.

Order would make more sense to the end user.

I like this! Is this your PVM20 preset in action?

4 Likes

Looks lovely. Can’t wait to try this. Tried using a few images of PVM’s recently and there is always something not right with the image. Maybe it’s how people have taken the photos of their sets, I don’t know, but the results always feel a little off when used with the bezel reflection. This clean rendered image looks really nice and doesn’t seem out-of-place, at all. Will you make it so the wooden desk and wallpaper can be replaced ? I tend to go all black.

2 Likes

The two series of stand-alone PVMs are in my repo.

(The last shot is the TM20 and all three backgrounds are available.)

All of the presets have separate layers for the background so you can replace it with one of your own or comment it out and go black.

I also have PVM presets for all my CRT systems. You may find night mode to be as good or better than a black background.

You can download the graphics and presets individually, from my repo, or use Git to install everything at once. There is info here:

BTW. The HDD controller for my external dock crashed and burned. Having my source on GitHub rescued a lot of things during the roller coaster ride, but the source for the 1st background was lost. It has been replaced with this:

6 Likes

Any chance of a recovery at some point?

1 Like

No. The only difference is the texture used for the wood. I tried every texture in my library and couldn’t replicate it. I will probably try again. (I think it is a bit too similar to the dark wood version.)

Th PSD source is also available if someone wants to use it to create their own backgrounds. (They are packed in 7z archive format because the file size was too large for GitHub even in ZIP format.)

2 Likes

It’s been a bit since I’ve used RetroArch or this shader, so I thought I would dip my toes back in and I’m noticing performance issues again (I never really fully got rid of them before, either).

Can someone explain to me if this makes sense? As a test case I’m running Super Mario World on Mesen-S with the latest standard bezel preset and it kind of hovers just below 60fps, so there’s constant audio crackling and stuttering and everything, but if I turn fast-forward on then I get, like, 165fps? Why can’t it hit a solid 60fps all of the time if I can get 165fps when I fast-forward?

This has been an issue I’ve had with the shader for years for whatever reason, but in the past I would still at least usually be able to find a way to solidly hit 60 by making certain sacrifices, so I didn’t worry about it too much, but I really would like to understand what’s going on here. Or is this just expected behavior?

EDIT: I’ve got an i5-3570k and a GTX 1070 Ti, if that matters. And I’m running at 2560x1440.

1 Like

I’m running a GTX 1070 with a Ryzen 5 5600X at 4K and have no issues with performance. I do know that I can’t run these shaders on every core and have Run Ahead and Frame Delay enabled. Do you have Run Ahead and/or Frame Delay enabled? What’s your CPU usage and GPU usage like? What preset/presets are you using?

Also, for what it’s worth HSM_Bezel_Reflection_V0.9.21_2021-07-05 seems to be significantly less performance intensive than the latest versions.

Just thought of something. I run with Curvature turned off and with the latest version HSM Mega Bezel Reflection Shader I can easily have GPU usage hovering around the low 90% range with Run Ahead and Frame Delay enabled using certain cores. Perhaps another factor that can help explain our discrepancies in performance could be that you’re running with Curvature turned on?

I do not have Run Ahead or Frame Delay enabled. In the case I described above (using Mesen-S with Super Mario World) my GPU usage hangs around 30%-40% and my CPU usage is around 20%. This is with the standard preset. The framerate hangs around 50-60fps. If I turn fast-forward on the framerate jumps to around 165fps and my GPU usage basically jumps to 100%. My CPU usage stays roughly the same, around 20%.

2 Likes

It is a bit weird that your percentages are so low but you are still having audio crackling. I would say that SNES is not really a fair judge in this case. It is a surprisingly complex system to emulate and audio timing is the first thing to go. (The Playstation is less taxing in most cases.)

The good news is that behind the scene changes in the shader should improve performance across the board. Look for them soon at your local Mega Bezel retailer. :grin:

In the mean time, if you are using my presets, try the Basic with Reflection versions.

3 Likes

Have you tried setting your estimated refresh rate in RA?

Go to “Video/output” highlight estimated refresh rate, and hold down start on your gamepad until the system reports.

This can help with synchronization issues.

3 Likes

Perhaps, you might want to try out another core? Maybe, Higan, BSNES or SNES9X?

Hello and thank the people behind this great work.

The shaders are installed inside my home directory.

I’m using the last pack and whenever I try to load a variation from preset, it does not load. Retroarch log told me that

failed to read preset in reference line : /usr/local/bin/shader/shader_slang/bezel/Mega_Bezel/…

2 Likes