Mega Bezel Reflection Shader! - Feedback and Updates

On Galaga, what is your setting in phosphor persistence? - 0.20, less or more?

2 Likes

Use whatever looks good to you.:grin: I only ever adjust it for B&W or Vector games.

1 Like

Only think to mention is that values greater than 0 is neutral color “phosphor” trail and less than 0 is a blue shifted color “phosphor” trail

I actually tuned the blue shifted version to a few videos of galaga on original cabinets

1 Like

Hi @HyperspaceMadness @Duimon

I have the similar issue that @Leatherface had.

RA settings are changed per HMS shared readme

Here is an example: Final Burn Neo core. Rom 1943 (or 1943kai, I recon this is valid for any vertical game) Final Burn Neo core has option Vertical mode that is turned off by default.

Without any adjustments I get this

To fix this I did the following. After enabling Vertical mode within Core options I get this

Finally In HSM sharers after changing CRT tube I get this

To sum up, you need to enable vertical mode in Core settings and Flip CRT tube in shader settings

Could you advise if this is the optimal workaround?

4 Likes

Yes, this is the optimal setup with cores which output “correctly” in the libretro interface which is sideways for vertical games.

I definitely need to add this to the Readme :wink:

Cores which output vertical games vertical instead of sideways, (Like some version if not all versions of Mame) work out of the box.

I should set up a preset for FBNeo for vertical games. There is already one for FBNeo vector games, but it has extremely pumped up reflection parameters only suited to vector games.

Can someone tell me where to put the information fbneo-vertical-mode = “enable” for vertical games? Because the setting has to be change every time between horizontal or vertical games :sob: try in a cfg file of a game and… It doesn’t work :sob:

1 Like

If I’m not mistaken you need to do this by hand.

After setting up the core go to Overrides >> Save game Overrides

For Shaders Shader >> Save >> Game Preset

This will lead to the creation of files in RetroArch/Config/CoreName folder

1943.opt << - Core overrides for the game

1943.slangp << Shader overrides for the game

File name matches ROM name, so in theory you can Copy-Paste and rename file to quickly add game override to the specific ROM

UPD. Within *.opt file delete everything apart from
fbneo-vertical-mode = “enabled”

1 Like

If you can separate your vertical games from your horizontal games, (Put them in different folders.) you can use a content directory preset. This is what I do.

2 Likes

My original thought here was that you would be able to have the core setting consistent between both horizontal and vertical (always outputting the higher resolution on the horizontal axis) and only the shader would need to be tweaked depending on if the game was supposed to be rotated.

I’ll have to look into this again to see this is working to see how we could best set this up with the least amount of overrides having to be saved.

@hunterk or @BarbuDreadMon do you know if there is any info that retroarch can give us from the core to tell us if it is a TATE/Vertical/Rotated game or not?

It would be great if we could have this info then we could drive something on shader load so the shader could know what kind of content it is getting.

2 Likes

Is this something similar to what was discussed last year in this very thread?

I wish there was a way in RetroArch or the MAME core to specify a shader based on horizontal or vertical based games, e.g. horizontal.slangp shader chain for horizontal games and vertical.slangp for vertical games.

1 Like

@HyperspaceMadness imho, the ideal solution would be that shaders are applied before rotation (it makes sense, since vertical games are using normal CRTs), so that using different shaders depending on the orientation of the game wouldn’t be required anymore. I believe that’s already the case for gl video driver and glsl shaders, but not for glcore/vulkan and slang shaders.

1 Like

Thanks for your input :slight_smile: I don’t think I’m understanding how this would work though… For a TATE game, would the shader be put on with the game sideways then this gets rotated upright into a smaller vertical section of the final viewport somehow?

How would the output of the shader get rotated to appear vertically in the center of the monitor if the final viewport is landscape and the retroarch aspect ratio is 16:9 (so that the shader runs on the full monitor to get the bezel effects shown in this thread)?

Tomorrow will try to add the line fbneo-vertical-mode = “enabled” in the game cfg file. My mistake is maybe to have add fbneo-vertical-mode = “enable", forgot the d at the end of enable. Will try enabled.

1 Like

Hello everyone!

@Leatherface , @Duimon , @shenglong , @HyperspaceMadness @AcidCrash !

I had to separate my vertical and horizontal roms. Then I apply different settings for each directory.

You can use the RomLister tool to make this separation. You will need some datafiles based on Mame. With a few tweaks, you’ll be able to do the same for FinalBurn roms, since most arcade games are based on Mame’s sets.

https://www.waste.org/~winkles/ROMLister/

Here is a tutorial with some details (in Spanish language). It is a little out of date, but the concept is still valid. Find the datafiles corresponding to your romset and follow the rest of the steps:

I needed to use this solution because I wanted to use appropriate overlays for each rotarion aspect. It was the only way I found to fully solve the problem with video rotation.

The ideal would be for the core to make this correction automatically. While this condition does not exist, I follow with the separate roms.

2 Likes

I think you should be able to load a game in FBNeo then go to Quick Menu > Options and change the Vertical Mode to OFF, then go to Quick Menu > Overrides > Save Game Overrides and I think this will save into your config file.

Then if you load the Mega Bezel and turn on [ ROTATE ] Rotate CRT Tube I think you should get something looking correct.

This works for me on Tempest, I’m not sure if there’s some other video parameter which needs to be set somewhere…

1 Like

If you manage to separate your roms into different folders you save both a content directory config for the core settings and a content directory preset for the shader.

I just tested it! :wink:

1 Like

Thanks for this recommendation :smiling_face_with_three_hearts:, the content directory presets and overrides are great, so having a tool to help me separate them will really help!

I’ve found the solution for me. In the cfg file of a game, add fbneo-vertical-mode = “enabled" does nothing. But… For example, I’ve created a Gunbird.opt file, add the line inside and it’s OK! It works and don’t change the default option (disabled) in the core after leaving the game. Thanks AcidCrash and all the others guys for help :wink:

@HyperspaceMadness RA would first apply the shader on the horizontal display, then rotate the screen. As i said i believe it’s already how it works if you use the gl video driver, and that’s more realistic imho (a CRT for rotated games “has its scanlines applied” before being rotated).

1 Like

Ideally for the Reflection Pack (and many other) shaders would be, if the core would get an option to properly rotate the original image before shaders are applied.

CRT masks and scanlines get notable side effects most of the time, integer scaling also doesn’t help with shaders which have a TATE/scanline direction option - in the situation, when the image is rotated after shader processing.

I played around a bit with this concept with the crt-guest-sm shader (pre rotation) and it’s working very nice, but is not trivial in a way, that a simple rotation pass could be added to existing shader presets, also not worth the struggle with GLSL pot textures.

So cheers for the core option! :upside_down_face:

3 Likes