HSM Mega Bezel Reflection Shader! - Feedback and Updates

Could you elaborate a little on the two points? I’m slightly confused about what you’re saying exactly.

Sure thing, it’s more of an under the hood thing.

I’m trying to set up the scaling include file that everything uses so it can eventually be integrated into the existing shaders in the repository and people won’t have to adjust their existing presets which use these shaders

1 Like

It’s best added instead one of the early passes which alter colors. Since it changes colors also it should be a decent replacement for one of those:

color-profiles.glsl

or

d65-d50.glsl

It’s easy doable from the menu and then the preset can be saved. Since it has many parameters and these are already too plenty in the shaders, it will not be included in the official version. :robot:

With crt-guest-sm similar can be done with ease, since it already includes an aditional color pass which can be replaced.

1 Like

Latest Mega Bezel Reflection shader update is up!

Changes:

  • Added Positioning offset for screen and the bezel
4 Likes

Thanks for the update! The new options are very welcomed.

I’d like to point out some issues with the vertical orientation of the shader:

  • The right corner (and the bottom left) are a bit misaligned, as you can see from the bright line of the bezel.

  • The reflection goes above that line horizontally and below vertically.

  • The bezel is big enough horizontally but too thin vertically, making it look a bit unbalanced.

Not sure if these are easy to fix but that’s the only issue left with the shader IMO.

1 Like

Yeah, this is an easy fix for the misalignment and the reflection match. This is why the automatic bezel generation would be helpful

So you feel the default bezel seems like it would look better with an even amount of space on top and sides?

Thanks for the feedback :slight_smile:

2 Likes

@guest.r @GemaH

Hi!

In “crt-guest-dr-venom-ntsc-composite” file I had to add the “image-adjustment” after the “afterglow” to maintain this effect.

shaders = 13

shader0 = ../ntsc/shaders/ntsc-pass1-composite-2phase.glsl
shader1 = ../ntsc/shaders/ntsc-pass2-2phase-gamma.glsl

filter_linear0 = false
filter_linear1 = false

scale_type_x0 = source
scale_type_y0 = source
scale_x0 = 4.0
scale_y0 = 1.0
frame_count_mod0 = 2
float_framebuffer0 = true

scale_type1 = source
scale_x1 = 0.5
scale_y1 = 1.0 

shader2 = ../crt/shaders/guest/lut/lut.glsl
filter_linear2 = false
scale_type2 = source
scale2 = 1.0

textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3"
SamplerLUT1 = ../crt/shaders/guest/lut/sony_trinitron1.png
SamplerLUT1_linear = true 
SamplerLUT2 = ../crt/shaders/guest/lut/sony_trinitron2.png
SamplerLUT2_linear = true 
SamplerLUT3 = ../crt/shaders/guest/lut/other1.png
SamplerLUT3_linear = true

shader3 = ../crt/shaders/guest/d65-d50.glsl
filter_linear3 = false
scale_type3 = source
scale3 = 1.0

shader4 = ../crt/shaders/guest/afterglow.glsl
filter_linear4 = false
scale_type4 = source
scale4 = 1.0

shader5 = ../misc/image-adjustment.glsl
filter_linear5 = false
scale_type5 = source
scale5 = 1.0 

shader6 = ../crt/shaders/guest/avg-lum0.glsl
filter_linear6 = false
scale_type6 = source
scale6 = 1.0

shader7 = ../crt/shaders/guest/avg-lum.glsl
filter_linear7 = false
scale_type7 = source
scale7 = 1.0
mipmap_input7 = true

shader8 = ../crt/shaders/guest/linearize.glsl
filter_linear8 = false
scale_type8 = source
scale8 = 1.0
float_framebuffer8 = true

shader9 = ../crt/shaders/guest/blur_horiz.glsl
filter_linear9 = false
scale_type9 = source
scale9 = 1.0
float_framebuffer9 = true

shader10 = ../crt/shaders/guest/blur_vert.glsl
filter_linear10 = false
scale_type10 = source
scale10 = 1.0
float_framebuffer10 = true

shader11 = ../crt/shaders/guest/linearize_scanlines.glsl
filter_linear11 = true
scale_type11 = source
scale11 = 1.0
float_framebuffer11 = true

shader12 = ../crt/shaders/guest/crt-guest-dr-venom.glsl
filter_linear12 = true
scale_type12 = viewport
scale_x12 = 1.0
scale_y12 = 1.0 

Scanlines in the black areas. Image-Adjustment:

Monitor Gamma: 1.80
Black Level: -0.07

3 Likes

GBA games look great on this shader. A version of GB/GBC would be neat as well. Is there a way to adjust one of the current version to match that system’s aspect ratio?

3 Likes

Why did you have to run image-adjustment after afterglow? Just curious.

Hi @Arviel, yes you can adjust the screen scale aspect ratio setting to what you like, the default is 1.33 for the 4/3 screen. You could also adjust the bezel x scale offset to squish the 3/4 aspect of the original bezel image to a 1/1 aspect but this is likely to look bad. For best results you probably want a new bezel image where the screen is already 1-1.

I can make this and provide a preset for it, but I’m a little concerned about how many images and how big it will end up being in the repo when it eventually goes there, as well as flooding it with too many presets.

@hunterk, do you have any suggestions on what’s appropriate for going into the repo eventually?

1 Like

In my test, the shader loses the light trail effect.

I took this picture to show that the effect has been maintained as it does not appear in the screenshot.

Technically, I can’t explain why. Maybe @guest.r or @hunterk.

2 Likes

Would someone give us shader noobs some tips on installing this and its use? I would love to try this out.

We just want to keep things as small as possible. In the case of the console-borders, there are a bunch of obscure variations that aren’t in the repo to save space and are just distributed in a bundle on the forum, so that’s an option here, too. That is, put the most general-purpose variant or two into the repo and let people who need the others download them separately.

2 Likes

In “crt-guest-dr-venom” file, the “color-profiles” has been replaced by “image-adjustment”.

shaders = 11

shader0 = shaders/guest/lut/lut.glsl
filter_linear0 = false
scale_type0 = source
scale0 = 1.0

textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3"
SamplerLUT1 = shaders/guest/lut/sony_trinitron1.png
SamplerLUT1_linear = true 
SamplerLUT2 = shaders/guest/lut/sony_trinitron2.png
SamplerLUT2_linear = true 
SamplerLUT3 = shaders/guest/lut/other1.png
SamplerLUT3_linear = true 

shader1 = shaders/guest/d65-d50.glsl
filter_linear1 = false
scale_type1 = source
scale1 = 1.0

shader2 = shaders/guest/afterglow.glsl
filter_linear2 = false
scale_type2 = source
scale2 = 1.0

shader3 = ../misc/image-adjustment.glsl
filter_linear3 = false
scale_type3 = source
scale3 = 1.0

shader4 = shaders/guest/avg-lum0.glsl
filter_linear4 = false
scale_type4 = source
scale4 = 1.0

shader5 = shaders/guest/avg-lum.glsl
filter_linear5 = false
scale_type5 = source
scale5 = 1.0
mipmap_input5 = true

shader6 = shaders/guest/linearize.glsl
filter_linear6 = false
scale_type6 = source
scale6 = 1.0
float_framebuffer6 = true

shader7 = shaders/guest/blur_horiz.glsl
filter_linear7 = false
scale_type7 = source
scale7 = 1.0
float_framebuffer7 = true

shader8 = shaders/guest/blur_vert.glsl
filter_linear8 = false
scale_type8 = source
scale8 = 1.0
float_framebuffer8 = true

shader9 = shaders/guest/linearize_scanlines.glsl
filter_linear9 = true
scale_type9 = source
scale9 = 1.0
float_framebuffer9 = true

shader10 = shaders/guest/crt-guest-dr-venom.glsl
filter_linear10 = true
scale_type10 = viewport
scale_x10 = 1.0
scale_y10 = 1.0

1 Like

This is such a great looking shader but in the recent versions there is an issue with it when being used with the Stella core, it’s auto adjusting it to vertical orientation.

This happens on various occasions.

It’s best to force it’s aspect ratio option to “horizontal” and save an “auto” preset for MAME, either way only MAME has vertical games without any graphics to fill the left/right areas AFAIK.

The aspect ratio option is in the shader and it’s “auto” by default.

Thanks for letting me know :slight_smile:

It looks like the atari 2600 output resolution is 160x192. It’s guessing that it should use a vertical aspect ratio because the ratio of horizontal resolution divided by vertical resolution is 0.83 and is less than 1.

You can always tell it which aspect ratio to use explicitly, but if it’s often choosing the wrong aspect ratio it’s defeating the purpose somewhat. I hope to figure out a better guess so it’s more accurate.

Anyone have any other examples of other cores/systems which have a horizontal aspect ratio display but who’s vertical resolution is higher than its horizontal resolution or games & systems where its choosing the wrong resolution? This could help me see how I could alter its guess to be more accurate.

1 Like

Yeah I figured it had something to do with the 2600s weird resolution messing with the auto vertical stuff that you added, it was working great before you added that feature in. From my testing with other systems it was fine but I was only doing the mainstream stuff like NES, SNES, Genesis, PS1, Saturn and TG16, nothing exotic.

1 Like

Thanks for the info @lordmonkus. I added the automatic option for Mame so it can change the aspect automatically for vertical games because trying to handle it manually forces you to choose and save a new setting for every vertical game you encounter, which I would love to avoid.

If the automatic aspect guess stays as it is, then you’ll want to make a copy of the preset and set scl_aspect_ratio_mode = 1 for the Stella core, this will set it to horizontal.

2 Likes

Thanks, that did the trick, just took me a minute to figure out where that setting was.

2 Likes