Mega Bezel Reflection Shader! - Feedback and Updates

You see a flickering image because odd and even scanlines are alternating on screen at 50 or 60hz.

That effect is more marked on high contrast lines like white vs dark gray.

I like the effect now because it gives “life” to the content, so it is the default in koko-aio, but several users dislike it.

1 Like

You know what else gives “life” to the content?

Very subtle noise/film grain.

I’ve never heard a complaint from a user about that in my presets. Most probably don’t even realize it’s on but it’s there and it creates a similar “analog” effect.

2 Likes

I see, I think I understand better now. It seems the flickering becomes less noticeable in motion, I like how smooth the image becomes in moving 3D scenes.

But I’ve been scratching my head over whether I should turn off the core’s internal de-interlacing or not? as it seems the shaders I tested can’t stabilize the image enough on their own (it’s jumping way too hard). I would love to find a way to get rid of de-interlacing artifacts.

I agree, some games use it by default like Silent Hill 3, it’s an interesting aesthetic.

1 Like

I’d leave the core output progressive frames and let the shader handle the emulation, just because not all of the core support outputting interlaced fields (that reminds me I’ve still to implement it properly, now it should be possible since shaders have finally access to the source core fps and interlacing can be tricky at 25/30fps)

2 Likes

@HyperspaceMadness I just spot checked my version of the mega bezel shaders installed and see Version V1.17.2_2024-05-18 in the readme that I have. But I checked your github and that shows the latest as V1.17.1_2024-04-14 . Did I grab a nightly build back then or an official build from you that you might have pulled back from for some reason in order to have this 1.17.2 ?

1 Like

I didn’t even know HSM had nightly builds. The last I heard is that the CRT rolling scanlines was going to be more difficult than expected… is that feature or the newer Guest updates in the nightly builds?

Hello, i have a big problem. Every time i play, retroarch just crashes. The program closes without an error message or anything. Which file do i have to open to see what error is caused? And how can i fix this problem?

There are options in RA that you can turn on to create a log file. You can get the info from that or someone here will surely help you decipher it.

1 Like

That is the current version of the shader.

I believe the confusion is due to the current version being based on a fork developed after HSM had done a lot of new work on the experimental GitHub version. (The GitHub version number reflects the version HSM started making experimental changes to.)

I assume, since you are posting here, that it crashes when you try and use a Mega Bezel shader. (Your post doesn’t actually say that. :grin:)

If it hangs and then crashes it is usually due to using an Advanced preset along with increase core resolution scale.

That is just a wild guess. If you could kindly provide the bug reporting info requested at the beginning of the thread, I could probably give a better answer.

Please provide what details you can, and I will do my best to help. (Please also include your hardware specs.)

2 Likes

You will want to make sure you grab a release rather than the main branch in the repo. The releases are all the Mega Bezel V1.x, the latest main in the repo is the V2 stuff that I’ve been working on and has been taking forever.

7 Likes

I figured why VGA mode and Interlacing were not being triggered automatically for me; I had to first tweak the core res sampling params, especially this one:

HSM_CORE_RES_SAMPLING_MULT_OPPOSITE_DIR

The default value sort of disabled the int/vga trigger resolution. And as a newbie with Mega Bezel, that was quite confusing to figure out, I’m not used to playing with sampling params.

Anyways, increasing the said param will indeed trigger interlacing/VGA, but I wonder which value should I use? something that works consistently for 480i content? Also what about VGA (480p)?

Again, these are all uncharted territories for me and any hint would help.

2 Likes

What you want to do is set the interlace mode settings which will adjust when interlacing is triggered

So you may need to set the trigger res lower, as well as set the Interlace mode to 1, 2 or 3

The default is set up to not interlace, since the mega bezel often gets 480 and higher res input that the user doesn’t necessarily expect to have interlacing

4 Likes

Late feedback:

It seems no matter how low I set the trigger resolution, it still won’t trigger interlacing unless I increase this specific param by at least one value:

I’m using version V1.17.2_2024-05-18

1 Like

can you take a screengrab with the resolution info so we can see the core resolution?

1 Like

Here’s one without my workaround:

With the workaround:

Edit:

While at it, I’d like to report the following missing glcore flip fixes, they are either new introduced issues in the nightly core builds, or a recently renamed core:

  glcore_LRPS2.params (new name)
  glcore_dolphin-emu.params (new name)
  glcore_DOSBox-pure.params (new flipping)
  glcore_melonDS DS.params (new core/openg gl mode glcore flipping)

Hi all, I tried searching the thread because I’m sure this has been answered but I’m embarrassed to say I couldn’t find the answer:

How can I convert the newpixie crt variant of megabezel into a screen only version? Best I could get tinkering with parameters was increasing the viewport zoom to 120, removing curvature, and making background layer opacity to zero. But…that still leaves the reflective bezel. Any way I can remove that or a more elegant solution to simply convert it to screen only?

(Cyber, if you read this first, I didn’t follow up in your thread because i realized the newpixie shader wasn’t part of your DTP megabezel preset pack and didn’t want to keep asking you about a project you’re not responsible for since I’m already asking you a million q re Megatron tinkering)

2 Likes

Do a search in the parameters dialog (By pressing the “S” key) and type in.

[ bezel

That will jump you to the “Bezel” section.

There you can reduce the opacity of the bezel and frame to 0.00000.

That will take care of the reflection.

Also, non-integer scale % of 100 should be full screen. No need to use viewport zoom. (It is really just for preset developers to get a close look at sub-pixels)

Honest question though, why not just use the standalone newpixie-crt? Is there some other Mega Bezel feature that you need?

Doing the above parameter changes will make it appear like a “screen only” version, but it will still take as much horsepower as a regular preset.

The actual “screen only” Mega Bezel presets are much leaner.

You could take the screen only GDV variant, either ADV

\shaders_slang\bezel\Mega_Bezel\Presets\Base_CRT_Presets\MBZ__2__ADV-SCREEN-ONLY__GDV.slangp

or STD.

shaders\shaders_slang\bezel\Mega_Bezel\Presets\Base_CRT_Presets\MBZ__4__STD-SCREEN-ONLY__GDV.slangp

and the parameters for the New-pixi clone.

# HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = "33"
# HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = "33"

HSM_DOWNSAMPLE_BLUR_SCANLINE_DIR = "0.000000"
HSM_DOWNSAMPLE_BLUR_OPPOSITE_DIR = "0.000000"

HSM_INTERLACE_TRIGGER_RES = "100.000000"
HSM_FAKE_SCANLINE_OPACITY = "70.000000"
HSM_FAKE_SCANLINE_ROLL = "30.000000"

SGPT_BLEND_OPTION = 0

g_cntrst = "0.500000"

GDV_AFTERGLOW_THRESHOLD = "7.5"
# BP = "16"

glow = "-0.300000"
SIZEH = "7.000000"
SIGMA_H = "2.300000"
halation = "0.2"
h_sharp = "3.000001"
shadowMask = "6.000000"
maskstr = "0.4"
maskDark = "1.000000"

GDV_DECONVERGENCE_ON = "1.000000"
deconrr = "1.500000"
deconrb = "-1.500000"
deconrry = "1.500000"
deconrby = "-1.500000"
addnoised = "0.140000"

and create a second reference for a preset.

You would get an actual “screen only” version of the new-pixie clone.

1 Like

Thank you so much Duimon!

As for why not use the reg newpixie shader, I don’t know why but the megabezel version looks significantly different. Like there’s a soft bilinear filter missing on the standard version. I don’t know, I’ll take some photos when I get home from work to show you what I mean.

The megabezel overhead is fine, as it’s run by a 4060 and Ryzen 7945x

2 Likes