Mega Bezel Reflection Shader! - Feedback and Updates

Fingers crossed and waiting with baited breath!

IntroImage_MegaBezelLogo_512

Mega Bezel is updated to V 0.9.090 2021-12-24

This is the first release candidate for the V1, We’ll get some usage from the community & do some bug fixes, then probably another RC then when things are super stable it will get submitted to the main repo as the V1.

Changes:

  • The Headlines:

    • Caching for Improved Performance
    • Guest NTSC presets added
    • Big rework on preset levels
      • Different levels of presets are now relatively consistent and make more sense from a user perspective
      • You may need adjust the paths in your presets to point to these new file names
  • BIG Changes to the preset levels,

Snapshot from the help in a markdown reader

Change Details:

  • Viewport Zoom & Position
  • Caching Added for much better Performance
    • When caching is on (on by default) the performance will be much better
    • Stuff that is cached:
      • Passes which do not change dynamically every frame
      • Portions of the viewport which do not change dynamically every frame (E.G. Outside the Bezel)
      • Blinking red visual indicator when cache is updating
  • Added Negative Cropping
  • Readme/Help partially updated
    • Read in a markdown reader for nice formatting
    • Some explanation of some of the new features is in here
  • Guest DrVenom
    • New Guest-DrVenom NTSC preset added, Thanks @guest.r!!!
    • Updated Guest shaders to crt-guest-advanced-2021-10-22-release1
    • Scanline Gamma is on all GDV presets and is a 1 based gamma adjustment
    • Noise can now be turned on/off separately from deconvergence
  • @DariusG’s GDV-Mini is now used for the POTATO preset which scales better than ZFast
  • Cyber’s Presets added to Experimental folder
  • Community_CRT_Variations presets added (Moved from Experimental) includes:
    • BendBombBoom Presets
    • NESGuy presets
  • Put Vignette in Post-CRT pass, Turn off Grade Vignette by default
  • Put Grade after afterglow, remove brighten black from afterglow
  • Added STD-GLASS preset
  • Auto Aspect Ratio
    • Catch sony fmv res 320x480 as Horizontal Aspect
    • Catch sony fmv res 512x480 is now caught as 4:3 and Horizontal
  • Independent Black Edge Corner scaling
  • Color Tweaks fixed, Display Gamut last option is now in range
  • Image Layering
    • Image aspect is now taken from the image resolution instead of setting extra parameters
    • Added Mipmapping blend to avoiding the crunchy pixel look when graphics are scaled down, e.g. 4k background on 1080p monitor
    • Added Color Control on all Layers
    • Added Viewport and Full scaling mode for image layers and AmbientLightingImage
  • Automatic screen placement
    • Add option for Black and White placement image requested by @briball
    • Parameter USE_IMAGE_FOR_PLACEMENT renamed to HSM_USE_IMAGE_FOR_PLACEMENT
  • Night Lighting / Ambient Lighting
    • NIGHT LIGHTING renamed to AMBIENT LIGHTING
    • AMBIENT LIGHTING now affects tube static reflection & Tube diffuse image
    • New great Night Lighting image by @Duimon
  • Graphics global brightness added so Mega Bezel can be used with “Dark” presets which try to preserve phosphors and then user increases monitor brightness
  • Screen Curvature: Added 2D Cylindrical Curvature mode requested by @syh
    • This makes the indexes change so they now start at 0 and end at 5.
    • 3D mode is now 3 and 3D cylinder mode is 5
  • Intro Logo is now scaled nicely in Vertical and Dual Screen
  • Tube Diffuse image added, so you can show the phosphor surface behind the CRT image if desired
  • ColoredGelImage renamed to TubeColoredGelImage for consistency
  • Corner radius’ for are now independent, Black Edge, Bezel inside, Bezel Outside
  • On/Off for some effects, which will be off by default like Tube Static Reflection Image

HERE ARE THE LINKS!

Shader Package Approx. 15 MB

Extra Examples Package


INSTALLATION INSTRUCTIONS

  • You MUST use Retroarch Version 1.9.8 or Later (It will fail to load on earlier versions)
    • If you have previous versions of the Mega Bezel installed:
      • Delete the old Mega Bezel stuff from shaders/shaders_slang/bezel
    • Inside the .zip is a bezel folder, copy the bezel folder into your Retroarch/shaders/shaders_slang folder
      • The final path to the Mega bezel should be Retroarch/shaders/shaders_slang/bezel/Mega_Bezel
    • Set video driver to Vulcan
      • It will run in GLCore but seems faster in Vulcan
      • Some users have run it successfully in D3D11 but with a slow load time
    • Set Video / Scaling / Aspect Ratio to Full
      • This will match your monitor aspect aspect ratio
    • Set Video / Scaling / Integer Scale to OFF
    • Set Video / Output / Rotation to Normal
    • Set Settings / Core / Allow Rotation to OFFImportant for FB Neo
  • Set Video / Bilinear to OFF
    • Load a preset in the shaders menu, Mega Bezel shader presets are found in:
      • shaders/shaders_slang/bezel/Mega_Bezel/Presets
    • When you save a preset make sure you have the Simple Presets feature set to ON
      • This will save a preset with a reference to the preset you loaded plus whatever parameter changes you made
      • This will keep your presets loading properly when the shader updates in the future

Give it a Whirl and let us know what you think!!!

Edit, there was a syncing problem but the files should now be updated

20 Likes

Nice! @HyperspaceMadness!

I have a “bug” to report. When the cache graphics are on, my custom TV image is downsized until it’s gone, leaving only the bezel and reflections (and the game image inside).

This is the background, I’m running Retroarch in 4K. Cache off still works.

Also, can you increase the negative cropping to -15 or -20?

3 Likes

Ok, so does the graphics appear then kind of slide off the viewport?

This is due to having retroarch’s billinear filter on, if you turn this off it will go away :slight_smile: .

I’ll try to fix this so we don’t get this interaction.

It’s sort of possible, but the 10% that’s there now is adds 20% to the core image as it goes through the pre-crt pipeline. To increase it to 20% would add 40% to the core image. The more that is added would slightly slow down the pre-crt processing.

3 Likes

Mega_Bezel_Logo

Mega Bezel is updated to V 0.9.091 2021-12-24 Rel 2

Changes:

  • Fixed issue with caching when bilinear filter is on
  • Increased Negative Crop Range

Happy Bezeling :slight_smile:

8 Likes

Thank you @HyperspaceMadness!

I don’t know if this is a bug, but with this version of the shader when GTU is on, it seems a lot blurrier than before (V 0.9.090 2021-12-24 was fine).

3 Likes

It is probably some new guest setting, not the Mega Bezel. Does adjusting correct it?

I don’t it’s Guest’s because it was working fine before the last update. (0.9.091 2021-12-24 Rel 2) Adjusting makes it better (less blurry).

2 Likes

This seems like a side effect of expanding the image for more negative cropping, because now the game image is actually smaller within the surrounding black space before the crt shader is evaluated.

I can probably compensate in GTU so that we get the same effect as default GTU.

I also having problems loading BSNES core (Retroarch crashs) with the new update (0.9.091 2021-12-24 Rel 2), version before was fine (V 0.9.090 2021-12-24) maybe also related?

The masks also feels “less strong” with the new update, before I was able to see the mask effects better.

Observation: “The new update” I’m mentioning is the last version you posted, the version before (also new) was just fine.

2 Likes

Yeah this might be related to the larger image caused by the larger negative crop, I’m thinking I’m need to backrack on this change since it’s causing this kind of problem.

I’ll put up a new version soon where the cropping is back to what it was before

2 Likes

Mega_Bezel_Logo

Mega Bezel is updated to V 0.9.092 2021-12-24 Rev 3

Changes:

  • Backed out the change with the increased cropping
6 Likes

I really hope this approach doesn’t have any negative side effects with respect to my shader presets because they rely extensively on fine tuning the GTU settings to get that final balanced look. Any compensation that is slightly off either way, will throw off the perfection.

@JHorbach1, is this feature something that’s absolutely necessary or just an added convenience?

It’s to simulate GBA Player (playing GBA games on a CRT with a border), but I don’t think this will be a problem since he rolled back the update causing the issue.

1 Like

Are there any existing GBA Overlays that can already accomplish this? What about using Super Gameboy emulation?

There aren’t, Super Gameboy doesn’t emulate GBA games.

The whole negative crop was not my ideia, I just saw it in the patch notes and tried to use it to emulate a GBA Player border within a CRT background that I use (inside the bezel), but the 10% negative crop wasn’t sufficient to put the GBA game in the border perfectly, so I asked him if he could add more percentage, which he did, it caused the issues with GTU, he then turned it back to 10%.

If there’s no way to achieve more than 10% without causing bugs, I’m perfect fine with it.

2 Likes

Perhaps this can be implemented in a different, more case specific way. Maybe a toggle can be created to enable the additional negative crop (with the side effects that you can probably work around). Under normal use the additional negative crop can be disabled.

Or maybe even a separate Base Shader/Shader Preset can be created with the required changes. So you’ll reference that instead of the existing ones.

1 Like

Yeah, I was having to increase the pre-crt shader chain to 2x resolution to get the additional negative cropping. But since you were starting to get a crash with bsnes I decided the increased negative cropping wasn’t worth this 2x resolution increase

1 Like

I might be able to come up with something using existing layers and parameters. I have an idea already forming. Do you have a border in mind or should I invent one? If it works it might be interesting to do a version for all the handhelds.

3 Likes

Yeah, the gel image with an increased black edge thickness might do the trick :slight_smile:

Edit, actually the black edge goes overtop the gel. Perhaps one of the image layers which responds to curvature and masked to the TUBE. Or maybe we adjust the gel so it can optionally go overtop the black edge.

2 Likes