Mega Bezel Reflection Shader! - Feedback and Updates

A new version of the shader is up, with the shadow adjustments @Duimon suggested! I can’t rember if I said before but there is one parameter for strength of the vignette and one for strength of the frame’s shadow

Quick Example

Also just a note, the presets haven’t changed in structure, but all the parameters starting with hmss_ are renamed hmbz_ so if you run a search and replace things might still load :wink:

4 Likes

Yes an RGB base bezel color is easy to implement except that I’m at the limit of the number of parameters I can add :frowning: Every parameter I add I need to re-jig something else to remove another parameter :wink:

It seems like it would be a worthwhile improvement so I’ll see what I can do :slight_smile:

1 Like

You are relentless!

Is there a parameter that determines the size of the bezel? For example for PSX the size of the screen is much smaller compared to other cores (maybe due to resolution). I am getting around it by setting the integer scale offset to 1, but is there another way?

I guess what I am asking is, is there a way of making the shader want to maximize screen space by shrinking the bezel (while maintaining aspect ratio).

2 Likes

The fact that the screen gets smaller will be related to the core resolution and the integer scale. The amount it shrinks is partially dependent on the “Int Scale Border Min Height %” parameter, if you set this to 0 you will get the biggest integer scale possible while keeping the tube on the screen.

If you turn off integer scale you will get a constant tube height on the screen, but you trade off the integer scaling.

Currently the bezel & frame are a ratio relative to the tube height, so when the tube gets smaller so do the bezel and the frame.

About having the bezel scale relative to the edge of the screen, this is an interesting idea, I’ll bounce that one around the inside of my head and see where it lands :slight_smile:

1 Like

I’ll give that a try. It is not a big deal either way. I just finished a playthrough of Biohazard 2 with this shader and it was lovely.

(so much better than the remake).

EDIT: The colors are quite striking on handheld.

2 Likes

@HyperspaceMadness

Absolutely lovely!!!

Some scaling changed a hair but a trip to the parameters and the press of a button or two fixed it up… no need for any image editing.

Just plain marvelous my friend!

One question. When I adjust the “Bezel Image Res y” dimension parameter, is it just an illusion or does this mistakenly adjust the x value instead of y?

2 Likes

Ha! I just did a quick check and you are right!!! I’ll fix that up, thanks for pointing it out!

3 Likes

A quick screenshot using some of the new stuff with a modified Orionsangel bezel.

3 Likes

Using only stubbornness and image editing (after using the parameters to eliminate the black inner edge and turn off image cropping) I added an inner shadow. It’s something bezel artists do often and I think adds to the realism.

With the bezel inner edge minimized…

2 Likes

Cool, thanks for sharing!

If this is something often desired I can add it to the shader.

One of the reasons I’ve put so much time into this shader is to have something which auto-generates the tweak things like this which are Irritating to do in a drawing program

Is this shadow inside or outside of the actual game screen?

I’m not really seeing a difference on mobile. Could you show a image actually pointing the change out? Because I’m not what shadow your actually referring to in the images…

@HyperspaceMadness

Most of the time, as an artist, it is trivial. It took quite a bit of tweaking to get to work with your shader though. :grin: No matter the size of the bezel image (I changed it to 1920 x 1080 just to see) part of the image is always off screen (integer scaling probably). Again, I only need to do it once and reuse it for the vast majority of cores) If, like you have the habit of doing, you make it adjustable then I think the community would appreciate the addition.

I see most artists do this and I do it myself. Some existing CRT shaders do it and even take it a bit too far, I think to potentially cover up mistakes in poorly constructed bezels but sometimes to accommodate flaws of emulators. Since your shader is generated, the image is always perfectly centered so it would just be aesthetic. I think the shadow is more realistic than the perfect black line because in reality most TV bezels covered up part of the screen. But, the perfect line also has a place in my toolbox. Maybe some other readers/artists could chime in about the shadow.

@Syh

shadow

2 Likes

I really like crt-royals method for that.

It’s fairly adjustable, imo.

Crt-guest-dr-venom also has a method for this but it’s not that adjustable in my opinion. It’s the border size option (I think?), lower it for this effect.

@HyperspaceMadness if you want to look at crt-royals method for reference, search get_border_dim in the shader. That’s the code block for it, if I recall correctly.

1 Like

Thanks, I’ll definitely check it out!

2 Likes

I just checked this, it’s actually doing the right thing. Because the height texture is driven by the height of the tube, so this x & y resolution really just affects the aspect ratio used to calculate how to scale the texture. When you reduce the vertical res of the texture you are making the aspect ratio of the texture wider.

So it is just an illusion. That is good.

1 Like

Latest update to the shader is Up! V.2020-03-21

Latest Updates:

  • Should be faster than the last version due to some optimization, the bezel & reflection are now both in the same pass
  • Properties are reorganized for ease of use
  • Bezel image resolution parameters has been changed to a bezel image aspect ratio, since that’s all it was really doing
  • You can set the color of the Bezel
  • Can blend color with the bezel image color, so it can be overlayed on top of an existing image and take its color
  • New reflection noise does a scattered sampling the reflection, this can add a blurring effect or roughening effect
  • Shadow corners outside the frame are now rounded looking instead of pointy looking
  • Frame Shadow Size is configurable
  • Option for changing the frame outside corner radius
  • Tunable bezel brightness vs frame brightness
  • Tunable highlights inside bezel

Explicit color set for bezel/frame

Color for bezel/frame comes from the bezel image in this case this is a solid blue image

Brightness of Bezel reduced

Reflection Noise

AlienSoldier_reflection_noise_2020-03-21 LostWorlds_reflection_noise_2020-03-21

I’ll probably look into how I can do the shadow on the screen like @Duimon mentioned. I’ll need to scavenge some properties from elsewhere in the shader, since with the GTU parameters included in the count I’m currently at the max parameters :frowning:

I might also do Geom-Deluxe next.

9 Likes

jeez, man, that is badassed. good stuff :slight_smile:

3 Likes

It’s getting there :). The scattering sampling thing for the reflection noise was originally something that I grabbed from a shadertoy and was trying to use for the main blur, but it ended up created a lot of noise at lower resolution, so I put it on the back shelf until now.

4 Likes

Do you ever sleep? Another great update! I love the way the shadows look now.

EDIT: I noticed the integer scaling is set to off in the shader by default. Is that intended or is there a new setting.

3 Likes