Mega Bezel Reflection Shader! - Feedback and Updates

Thanks for the log, it looks like you are using D3D12, is there any reason for this?

I think I’ve had problems with the Mega Bezel & D3D drivers

My recommendation is to try using Vulkan or GLCore.

2 Likes

Working now :slightly_smiling_face:

Really cool stuff man, thanks.

4 Likes

@HyperspaceMadness

Just curious, what is the default curvature based on? Is this based on measurements of a CRT? I don’t remember this much curvature, maybe screen size also played a role? I seem to remember smaller screens having more pronounced curvature.

Also, I’m extra lazy right now, where can I find a good TV overlay image that looks like a generic curved TV from the 90s and looks good with the bezel?

Good is rather subjective. :grin: I have a few TVs in my repos as overlays and Mega Bezel shader presets.

The first is from the 90’s.

The last can be scaled using the Advanced preset, and all can use Night Mode.

5 Likes

image

Mega Bezel is updated to V 0.9.09 2021-05-02

Changes:

  • Fixed up LCD color some, now it is pretty similar to standard LCD Grid V2
  • I think I also fixed an issue where the lcd sub pixels weren’t aligned properly
  • Changed Cropping to use Percentage instead of pixels
  • This is a bit more future proof and supports changing internal resolution and keeping the same cropping
  • Fixed BASIC-BORDER with Flip Vertical
  • Turned Off Phosphor Persistence by default
  • Added Matte Modes for STANDARD presets
  • Added some Experimental presets, try out the 3DS with Downscaling for 3x Internal Resolution
  • Preset Upkeep
    • Use Standard Corners & Curvature for LCD base preset
      • Presets in variations still have the original corners and curvature
    • All Variation Presets reference the base crt presets using the root path, E.G. :/shaders/shaders_slang…
      • This should help if you want to make a copy of one and put it somewhere else it will still work
      • You can also just change the name of the referenced crt preset to a different crt preset
  • AB Testing of CRT chain vs first pass, the parameter is:
    • [ CRT vs ORIGINAL A/B TESTING ]_______________
      • Blend With Original Image

here’s a snapshot of Blend With Original Image at 50%

6 Likes

No, not really, I just went with something which showed some nice curvature, but was not too much for a default setting.

The curvature is in there if you’d like to change it for your tastes.

Hunterk mentioned that curvature was somewhat related to how far the electron gun was from the screen. Roughly I think this equates to the radius of the sphere of the tube surface.

So it would make sense that smaller tubes would have more curvature because the tube is not as deep

2 Likes

Gotcha, just curious. I think it makes sense that smaller TVs had more curvature because the electron gun was probably the same size as on a larger TV, so the screen curvature would be the same but over a smaller surface, or something. I’m bad at explaining things.

Regarding moire; is this something that would be completely invisible on a retina resolution display? Or is it the absolute resolution that matters?

Also: is it possible to adjust the curvature of the image without adjusting the curvature of the bezel? Check out the edges of this screen:

CRTs could be calibrated so that straight lines appeared straight even though it was a curved surface. Can we do something similar with the shader?

2 Likes

Yes. There are independent bezel scale and curvature parameters.

Although I usually use it to go the other direction.

2 Likes

Basically it’s related to how tall the screen/tube in pixels, The standard megabezel screen at 4K doesn’t show much moire. That’s probably about 1600px tall

1 Like

Yeah one thing I realize unless there is some other way to do it is that we should have a curvature multiplier on the black edge mask so you could curve it more and have the black edge follow. And end up with something just like that image.

3 Likes

Actually, I find the moire to be basically invisible at normal viewing distances when using the default mask (mask 7, strength 0.30). Disabling the mask makes the moire a lot more noticeable. Interesting. This is only really apparent in fullscreen mode, but here are the screenshots just for kicks.

2 Likes

Yeah. A magic “Black Edge Follow Bezel Curvature” setting. (If you wanted to see some black edge.) Or you could just scale the screen until it was hidden behind the bezel. (If you didn’t want to see it.)

2 Likes

Playing with black border thickness

black border thickness 300, 2d curvature 50/50

3 Likes

That color looks really nice my friend! :star_struck: I think you just made a few people very happy.

I did notice that cropping the sides on the 2nd screen is effecting the LCD grid moire. I don’t remember that before. Since it can’t be automatically scaled to non-integer for a reference, I just have to play with it to make it right.

Maybe a new combination of scaling and cropping is needed because of the fixed sub-pixel alignment.

2 Likes

Yeah, I hope so :smiley: This was partly related to the GBA colors pass which was on there that I took off.

Hmm, so I don’t think it wouldn’t be related to the cropping change, as it’s just an interface change really, the cropping should still be being done per pixel. I still may look at how we could turn 9ff the effect when it gets small.

Actually it wasn’t they were two separate issues, the percentage cropping parameters are better for changing core internal resolution, but they still crop per pixel.

2 Likes

Thank you very much for the color adjustments. Much appreciate it!!!

1 Like

Some shots of the AB Testing feature noted in the release which allows you to compare the raw image vs the treated/crt shaded image, I used this to test the color coming out of the lcd shader, but you can use it with any of the Mega Bezel presets:

7 Likes

The basic 3DS preset works great! At first I thought it had the same issue I was running into earlier where the bezel was being drawn wrong, but then I looked into what the preset was actually doing and found out it was baked into the background (which is probably the whole point of basic border :sweat_smile:). I swapped it out for the standard background and now it looks just like what I wanted, but with none of the performance issues.

2 Likes

Is there a way to increase the thickness of the part highlighted in red and reduce the length of the green lines?

Basically I’m trying to reduce the depth of the screen, if that makes sense.

1 Like