Mega Bezel Reflection Shader! - Feedback and Updates

Sure, I don’t see why we would want to prevent this.

The default tube diffuse image has a directional lighting from top to bottom. If it rotated this more shadowy area will appear on the side.

3 Likes

Thanks @HyperspaceMadness for the info. I was having a problem with a image I was using as Tube Diffuse, I fixed everything by setting it as Tube Static Reflection Image.

I should specify that the image is the same image I used for soqueroeu’s TV Backgrounds. I figured to put it as the Tube Static Reflection Image since it is along the lines of the default image.

2 Likes

Mega_Bezel_Logo

Hot and fresh sneak peak from the Mega Bezel kitchen!!!

Hyllian’s Super-XBR + Guest’s SharpSmoother + Guest Advanced!

Hyllian really outdid himself with this one tuning it to really have a sweet spot of adding rounding to the graphics but keeping the feel of the original pixel art 100% intact.

the SUPER-XBR-GDV presets are updated on my repo if anyone wants to play with a pre release version.

12 Likes

PS1 Games looks amazing… :heart_eyes:

Here is a gameplay also… :grin:

3 Likes

Playing with Guest’s Sharp Smoother

Original

Soooo Smooth! probably too smooth :rofl:

6 Likes

Also cooking is improvements to the split feature for device graphics (or any other graphics)

To achieve an adaptive monitor width, what @thenamec is calling Fluidvision :grinning:

4:3 aspect

16:9 wider aspect

3:4 Tate aspect

I also want mention the beautiful graphics above are all from @TheNamec

8 Likes

Go Fluidvision go! Bring funky aspect ratios back home and roTATE 'em displays for us! :heart_eyes:

6 Likes

I’m gonna have to figure out this Fluidvision stuff, it’s looking too cool to not play around with

2 Likes

That example is good, though probably too much smooth for all games.

Sharpsmoother is a shader from @guest.r to smooth color transitions like bilateral shaders that preserve edge transitions. The problem with its default param values is that they create some ringing around edges.

So, after testing for some days sharpsmoother.slang, I came to optimal params for 16/32bit games where it smooths enough without creating ringing nor destroying details. The results are better than those from bilateral filters in denoiser folder.

The optimal params:

parameters = "max_w;min_w;smoot;lumad;mtric"

max_w = "0.05"
min_w = "0.00"
smoot = "0.400000"
lumad = "0.500000"
mtric = "0.300000"

I use that in my particular crt-super-xbr-sharpsmooth preset:

shaders = "12"

shader0 = ../blurs/sharpsmoother.slang
filter_linear0 = false
scale_type0 = source
scale0 = 1.0

shader1 = "shaders/linearize.slang"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = "XbrSource"
float_framebuffer1 = "false"
srgb_framebuffer1 = "true"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"

shader2 = "shaders/super-xbr-pass0.slang"
filter_linear2 = "false"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = ""
float_framebuffer2 = "false"
srgb_framebuffer2 = "true"
scale_type_x2 = "source"
scale_x2 = "1.000000"
scale_type_y2 = "source"
scale_y2 = "1.000000"

shader3 = "shaders/super-xbr-pass1.slang"
filter_linear3 = "false"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = ""
float_framebuffer3 = "false"
srgb_framebuffer3 = "true"
scale_type_x3 = "source"
scale_x3 = "2.000000"
scale_type_y3 = "source"
scale_y3 = "2.000000"

shader4 = "shaders/super-xbr-pass2.slang"
filter_linear4 = "false"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = ""
float_framebuffer4 = "false"
srgb_framebuffer4 = "true"
scale_type_x4 = "source"
scale_x4 = "1.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"

shader5 = "shaders/custom-bicubic-x.slang"
filter_linear5 = "false"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = ""
float_framebuffer5 = "false"
srgb_framebuffer5 = "true"
scale_type_x5 = "source"
scale_x5 = "1.000000"
scale_type_y5 = "source"
scale_y5 = "1.000000"

shader6 = "shaders/custom-bicubic-y.slang"
filter_linear6 = "false"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "false"
srgb_framebuffer6 = "true"
scale_type_x6 = "source"
scale_x6 = "1.000000"
scale_type_y6 = "source"
scale_y6 = "0.500000"

shader7 = "shaders/crt-hyllian-sinc-curvature.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "CRT_PASS"
float_framebuffer7 = "false"
srgb_framebuffer7 = "true"
scale_type_x7 = "viewport"
scale_x7 = "1.000000"
scale_type_y7 = "viewport"
scale_y7 = "1.000000"

shader8 = "shaders/threshold.slang"
filter_linear8 = "false"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "false"
srgb_framebuffer8 = "true"
scale_type_x8 = "source"
scale_x8 = "1.000000"
scale_type_y8 = "source"
scale_y8 = "1.000000"

shader9 = "shaders/blur_horiz.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "true"
alias9 = ""
float_framebuffer9 = "false"
srgb_framebuffer9 = "true"
scale_type_x9 = "source"
scale_x9 = "0.200000"
scale_type_y9 = "source"
scale_y9 = "0.200000"

shader10 = "shaders/blur_vert.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = ""
float_framebuffer10 = "false"
srgb_framebuffer10 = "true"

shader11 = "shaders/custom-resolve.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = ""
float_framebuffer11 = "false"
srgb_framebuffer11 = "true"

parameters = "max_w;min_w;smoot;lumad;mtric"

max_w = "0.05"
min_w = "0.00"
smoot = "0.400000"
lumad = "0.500000"
mtric = "0.300000"
6 Likes

Yeah, I agree, in the Mega Bezel the default parameters are going to match your suggestion :smile:

4 Likes

Sometimes I envision @hyllian and @guest.r as Formula1 engineers, tuning gears and putting real science behind those magic shaders @HyperspaceMadness is weaving together.

I can merely eyeball things and hope that something good comes out. I’m just setting numbers in those glorious simulation machines we’re building up, like a youngster trying to squeeze variations from something that’s just “almost” perfect.

Really guys, sincerely tnx for your YEARS of commit. It’s invaluable and inexplicable.

6 Likes

This isn’t anything to do with the Mega Bezel, but I wanted to call attention to it because I think it’s really awesome, amazing work @fercho :star_struck:

Note: This is 100% overlay, but you could run the Mega Bezel with it and it would appear under the overlay graphics.

I was wrong about no Mega Bezel content, he made a custom preset to work with the overlay that he showed at the end :wink: Nice stuff Fercho!

10 Likes

15 posts were merged into an existing topic: Building Presets for the Mega Bezel

Hi there, im a nooby on this,so be patience, pleasee. :slight_smile: I made the configuration of 0 as explained at the beginning of the post, but I have a problem. When I deactivate the option that allows the core to rotate the image, in Arcade, I see vertical games horizontally. what could be happening in my configuration? Millions of thanks!!!

2 Likes

No worries, we are all newbies somewhere. :grin:

Also from the install instruction in the first post.

The “Rotate CRT Tube” parameter is near the beginning of the list in the [FLIP & ROTATE] section.

Feel free to post again if you still can’t get it to work. (Our storage locker is full of patience.)

4 Likes

thanxx…and… ok. just another question.

Is this setting or is the rotation automatic depending on the game? that is, if I close retroarch after playing a game in vertical and open another one but it is horizontal, the shader updates the way to visualize it?

2 Likes

No, it’s not automatic, I have a plan for that in the future, but it requires an additional feature added to retroarch.

One thing people often do is put all their vertical games in one folder, then they will save a content directory preset. Then all games loaded from this folder will load the same preset when the game loads.

2 Likes

ohh yes… good idea “One thing people often do is put all their vertical games in one folder”… i go for this… thanxx a lot for your patience…

2 Likes

4 Likes

Mega_Bezel_Logo

Mega Bezel is updated to V1.3.0_2022-09-24

Changes:

  • Added SUPER-XBR-GDV presets includes SUPER-XBR by Hyllian
    • These presets create a rounded look to the pixels while maintaining more of the original pixel look
    • Vertical resolution of the signal stays the same as the original
    • Uses Guest Advanced (GDV) crt shader on top
    • Also uses Guest’s SharpSmoother shader before XBR to smooth out some dithering/shading
  • Updated Hyllian’s Checkerboard Dedither
    • Now includes his error control parameters
    • Default values set to avoid errors
      • Reduce Neighbor Errors = 4
      • Reduce Region Errors = 1
  • DeDithering / Pixel Blending
    • Guest.r’s SharpSmoother is added to ADV presets
  • Megatron CRT Shader updated to V4.1
  • Split Scaling Fluidvision :wink:
    • Added Split Preserve Center %
    • New Follow Mode added for each layer
      • Gives the option to follow scale and position, or follow exactly
      • When Follow Exactly is on it uses the same coordinates as the other layer, splits included
      • Now the newly exposed areas can now be filled in with a repeated texture
  • Renamed Parameters
    • _FOLLOW_LAYER in each image layer has been renamed to _FOLLOW_LAYER
      • E.G. HSM_BG_FOLLOW_LAYER -> HSM_BG_FOLLOW_LAYER
    • _FOLLOW_FULL_USES_ZOOM has been renamed to _FOLLOW_FULL_USES_ZOOM
      • E.G. HSM_BG_SCALE_FULL_WITH_ZOOM -> HSM_BG_FOLLOW_FULL_USES_ZOOM
    • If you do search and replace through your files you will want to watch out for HSM_INT_SCALE_MODE
      • To handle this you can do the following:
        • Search and replace HSM_INT_SCALE_MODE to XXX_UniqueReplace_XXX or something else unique
        • Search and replace _SCALE_MODE with _FOLLOW_LAYER
        • Search and replace XXX_UniqueReplace_XXX with HSM_INT_SCALE_MODE to put it back
      • VSCode is recommended for an easy search and replace through files
  • Added Device LED layer
    • The texture is named DeviceLEDImage
    • By Default the Device LED layer
      • Follows the Device layer
      • Follow Exactly is set to on
      • Uses add blend Mode
  • Added Tube Diffuse Image Rotation

Go to the first post here for links to the package and install instructions. Please make sure to read the install & setup instructions

No CRT Shader

Guest Advanced CRT Shader

SUPER-XBR + Guest Advanced CRT Shader

SMOOTH-ADV + Guest Advanced CRT Shader

19 Likes