HSM Mega Bezel Reflection Shader! - Feedback and Updates

The Mega Bezel is updated to V2020-05-23

Changes:

  • Guest’s CRT Color Profiles and Color Spaces are back and will now appear in all shaders, including easymode, royale, lcd
  • Hopefully got Gamma sort of working correctly, the CRT Gamma is now 2.4 by default
  • Added new blend modes to top image blend modes which allow putting the top image under the reflection
  • Interlace Trigger Resolution is back and appears for all shaders, the extra fake scanlines also looks at this, so the extra scanlines and interlace are now hooked together and extra scanlines will not appear under the trigger resolution. It defaults to 600, so any high res content (over 480p) will show up with fake scanlines. I did this because I find that 480p with regular scanlines still looks pretty good. This is hooked up in Guest Venom and Easymode, we’ll have to see how this works with various kinds of content
  • MDAPT Mode is 1 by default, this blends the checkerboard dithering pattern, and has minimal false positives.
  • Black level is -0.07 by default which puts very slight scanlines in the black backgrounds and gives a little separation between the screen and the black edge around the screen
  • Negative Crop Brightness is adjusted to match this black level so you can do negative cropping without weirdness
  • Guest-Venom Put in an option to automatically switch between mask size based on final resolution, e.g. 2k vs 4k, this is on by default
  • Guest-Venom the mask is set to 7 (Trinitron) by default

I wanted to say an extra big thanks to @guest.r for his work on guest-venom and the color work he did which is what is integrated here

Guest-Venom Auto Mask Size image image

Color Space Options

Legend of Mana 640x480 Core Res - Normal

Legend of Mana 640x480 Core Res - Interlace Trigger Reduced to 400, Fake Scanlines Visible

Legend of Mana Core Res Vertical Res Halved - Normal Scanlines

Metroid Prime Core 1080p Fake Scanlines

Super Mario Fake Scanlines


10 Likes

You have been a busy and productive man!!!

Love the new scanline features. Just amazing!

And…

SNES night using only the top image layer with the new features!

New masking worked exactly as we hoped. :grin:

Just edit the slangp, set the blend and mask, and boom! (I did need to reduce the inner bezel edge to zero. Not a deal breaker in any way.)

3 Likes

This is because your texture was not appearing on the inner edge? If so I can fix this

If you agree that it is desirable. Just know that you’re work is appreciated my friend!

I am in awe of your last two releases!

2 Likes

Thanks a bunch, you’ve been really making some great stuff too, that pc tower in vector with all the details is pretty amazing :slight_smile:

Yeah I think the change to the mask is desirable, I think it was only that way for the glass preset. So I’ll just put in another define for the special behavior of the glass preset which is more the correct thing I think.

3 Likes

The fake scanlines are badly misaligned with the pixels; is there a way to fix that?

It really depends on what resolution you are at and the core resolution, the fake scan lines takes the tube size and divides it by 240 to find an integer height for the scanline so each is the same number of pixels. It’s possible that we could add some controls to set the alignment and number of scanlines, but we’re pretty tight on adding new parameters.

If the scanlines aren’t starting at the exact top of the tube this could be possibly improved without any extra parameters.

Can you post a screenshot showing the problem and with the debug parameter on, all the scaling & resolution info will be shown on the screen.

Fantastic update. One shader to emulate them all.

For the fake scan lines I have found the 2d short axis set to 0 helps along with having the HSM integer scaling turned to on inside the shader. From my experience it is very difficult to get the fake lines to be pixel perfect. A possible solution would be having something like the rolling scan lines from the newpixieCRT shader as it further tricks the eye.

What a diverse and powerful shader. Now if only I understood the various color profiles + crt profile + lut.

2 Likes

Yeah the color profiles are interesting, here’s my cheat sheet after using them for a bit:

  • The color spaces are really there to match what color space of your monitor, for most of us this is SRGB so keeping it at 0.

  • If you are using the lut colors on, then leave the crt profiles at 0.

  • If you are not using lut colors then you it can be helpful to use the crt color profiles, I find #5 to be good.

Edit: This leads me to wonder if the lut colors should be one of the color profile options and the lut parameter removed.

2 Likes

The profiles tells the shader what type of standard you want it to approximate. Example:

I use the AdobeRGB gamut and use the #2 profile for classic consoles because it is the SMPTE-C standard, which is what most consumer devices used from the retro period. You can find out more about these profiles inside the shader. (“How things should look”)

The LUT applies a LUT to the picture but it doesn’t use standards but particular looks from individual TVs. Less accurate. (“I want my display to look like Jimmy’s PVM!”)

2 Likes

The Mega Bezel is updated to V 2020-05-24

Changes:

  • Added & Renamed the Core Downres Options
    • [Scanlines] Reduce Core Res Mult X
    • [Scanlines] Reduce Core Res Mult Y
  • The LUT is now one of the CRT Profile options and no longer has it’s own parameter to hopefully simplify
  • The cylindrical 3d curvature now maintains the width rather than shrinking horizontally
  • All Bezel presets now have the first version of @Duimon’s night mode top image texture, turn up opacity to overlay it onto the frame and background
  • Fixed masking issues @Duimon found
  • The full scale mode which scales the screen to the whole monitor is now aspect ratio mode 3
  • The debug parameter is now the first parameter
  • Adjusted Black level to -0.1 and Negative Crop Brightness to match
  • BG image scale mode is set to Fullscreen (1) by default

Top Image Opacity to turn on night mode, here’s an example with @Duimon’s awesome background images

image

Cylindrical Curvature

Reduce Core Res

Full

12 Likes

Love the “night mode”. Though raising the number all the way to 100 takes a while. :stuck_out_tongue:

1 Like

Glad you like it, it was mostly driven by input from Duimon and of course the nice texture comes from him too.

Yeah, I’ll take a look at the increments to see if they are too low. I think originally the increments were low so that when you use it additively like in the glass preset you can add on just a little at a time.

If you hit enter you can press up and it will go from 0 right to 100, then you can dial down from there.

1 Like

Oh I didn’t know the “enter” trick, good to know. Just when I keep thinking this shader couldn’t get any better!

1 Like

This is really cool. I noticed that when applying “night mode” there is a slim edge to the bottom and right parts of the image, as if that part of the screen does not apply the darkened image:

2 Likes

I’m guessing this is in the texture, we’ll fix it on the next update to the texture which should come soon.

2 Likes

Hey shenlong, your work is amazing but i cant get the new version of retroarch to work with these shaders. any chance of you uploading your version with these shaders installed??

1 Like

Is there a way to reduce the uneven scanline effect with the Crt-Royale Bezel Reflection preset without setting the Int Scale Mode to Short Axis (which makes the screen too tiny on my 1440p monitor) ?

1 Like

What is the core res you are working with? If you set the debug parameter on you will be able to see this. Can you post an image of what you’re seeing and an image of the same thing in Guest-Venom?

You can also play with the int scale min border height to adjust how much empty vertical space the shader reserves for the top & bottom if int scale is making the screen really small.

Other than this I’m not sure what can be done with the current shader.

I’m still thinking about options for improving moire. There is the EWA solution that hunterk used in EWA Curvature which adds a bit of blur. And there is also the moire mitigation stuff hunterk did in one of the shaders, but has a performance impact and you trade moire for some noise

1 Like

I think a bit of blur is a better poison than the noise.

1 Like