Mega Bezel Reflection Shader! - Feedback and Updates

Does the new version have that shiny line between the bezel and the outer frame?

Edit: From the last screens it seems it does. Makes the whole thing look better IMO. Thanks.

2 Likes

Yup, this was fixed, just forgot to put it on the list of changes.

2 Likes

Thank you ; but unfortunately, the problem remains.

1 Like

Hmm, did you replace your presets? I tested here when I did the change, and I just looked at the guest-venom preset from the package and my change is in there…

Edit: I just looked again and the fix was in there for guest-venom but not Royale, fixing now…

1 Like

Ok it’s updated again :slight_smile:

2 Likes

Well, I’m sorry, but it’s still the same… I delete my presets every time before extracting yours. And with dr venom the problem remains as well.

WIth Mega Screen Scale Royale, the problem does not occur. It only happens with the Mega Bezel Reflection presets.

1 Like

Same here, issue seems to happen with glow and reflection versions.

1 Like

Ok I’ll do more investigation.

@Telmo could you do me a favor and make a screenshot to show what you’re seeing? To test it I was increasing the Glow amount in guest venom.

Thanks

1 Like

I did some testing, I:

  • Downloaded a fresh version of retroarch and the package above
  • Downloaded the imageviewer core and opened this image 0 Grid Horz tmnt2po
  • Loaded hsm-mega-bezel-reflection-crt-guest-dr-venom.slangp
  • Increased “Glow Strength” to it’s maximum value.

I get this, which I think is correct (Before I fixed it you would only see the glow on the vertical axis)

Also just in case your version number should look like this

Can you try this and see if you are getting the same result?

Or take a snapshot to show me what you are seeing? If Retroarch snapshots are not working, you can always use printscreen in windows to take a snapshot then paste it into paint.

1 Like

The glow halo is too clearly delimited now and looks artificial (guest-sm):

Without reflections this effect is more subtle and natural(Dr Venom screen scale):

1 Like

Thanks! Could you output the core res image for me to test with?

To do this you turn off GPU Screenshot, then take your screenshot from the Quick Menu

I have the same version number as you. I tried to open the grid test image and I don’t get the same glow as on your image ; but I still cannot take a picture (Retroarch says the screenshot is created, but when I go to my screenshot folder, it is not there, and I checked, it is the right folder) ; I tried making a screenshot with the Print Screen key and pasting it in paint but all I get is a green screen.

My results are the exact same as Telmo’s, so it’s not a problem on my end…

1 Like

Edit: This is quite strange, what video driver are you using, the grid screenshot was taken while using glcore, and I just checked vulcan and it looks the same.

Can you paste the contents from your hsm-mega-bezel-reflection-crt-guest-dr-venom.slangp here?

Since guest-sm and guest-venom are two different shaders I can’t compare one to the other because i don’t expect to see the same glow on one vs the other

Here’s mega bezel guest venom

And here’s screen scale guest venom

I use Vulkan.

Here is the content of my hsm-mega-bezel-reflection-crt-guest-dr-venom.slangp :

// Add Mega Screen Scale Params & Initial Prep
//      Add the mega-screen-scale parameters at the beginning of the list for easy access
//      Add Afterglow, Black Level & Gamma
//      Calculate Average Luminance and put in alpha channel
//      Debug Drawing of the resolution/screen scaling
shader0 = ../crt/shaders/HyperspaceMadness/hsm-prep-initial-debug-avgluma-afterglow.slang
alias0  = AvgLumPass

// De-Dithering - Mdapt
shader1 = ../crt/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass0.slang
shader2 = ../crt/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass1.slang
shader3 = ../crt/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass2.slang
shader4 = ../crt/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass3.slang
shader5 = ../crt/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass4.slang

// GTU TV Processing
shader6 = ../crt/shaders/HyperspaceMadness/hsm-gtu/hsm-gtu-pass1.slang
scale_type6 = source
scale6 = 1.0
float_framebuffer6 = true

shader7 = ../crt/shaders/HyperspaceMadness/hsm-gtu/hsm-gtu-pass2.slang
scale_type_x7 = source
scale_x7 = 1.0
scale_type_y7 = source
scale_y7 = 1.0
filter_linear7 = true
float_framebuffer7 = true

// //NTSC passes added here so you can swap out with GTU
// shader6 = ../crt/shaders/HyperspaceMadness/hsm-ntsc-adaptive/hsm-ntsc-pass1.slang
// scale_type6 = source
// scale_x6 = 4.0
// filter_linear6 = false
// float_framebuffer6 = true

// shader7 = ../crt/shaders/HyperspaceMadness/hsm-ntsc-adaptive/hsm-ntsc-pass2.slang
// scale_type7 = source
// scale_x7 = 0.25
// filter_linear7 = false

shader8 = ../stock.slang

// Guest-Venom Pass ----------------------------------------------------------------
shader9 = ../crt/shaders/guest/lut/lut.slang
filter_linear9 = false
scale_type9 = source
scale9 = 1.0

// Guest-Venom Pass ----------------------------------------------------------------
shader10 = ../crt/shaders/guest/color-profiles.slang
filter_linear10 = true
scale_type10 = source
scale10 = 1.0

// Guest-Venom Pass ----------------------------------------------------------------
shader11 = ../crt/shaders/guest/d65-d50.slang
filter_linear11 = true
scale_type11 = source
scale11 = 1.0
alias11 = WhitePointPass

// Linearize Color ----------------------------------------------------------------
shader12 = ../crt/shaders/HyperspaceMadness/linearize.slang
filter_linear12 = false
scale_type12 = source
scale12 = 1.0
float_framebuffer12 = true
alias12 = LinearizePass

// Guest-Venom Pass ----------------------------------------------------------------
shader13 = ../crt/shaders/HyperspaceMadness/hsm-guest-blur_horiz.slang
filter_linear13 = false
scale_type13 = source
scale13 = 1.0
float_framebuffer13 = true

// Guest-Venom Pass ----------------------------------------------------------------
shader14 = ../crt/shaders/HyperspaceMadness/hsm-guest-blur_vert.slang
filter_linear14 = false
scale_type14 = source
scale14 = 1.0
float_framebuffer14 = true
alias14 = GlowPass

// Guest-Venom Pass ----------------------------------------------------------------
shader15 = ../crt/shaders/HyperspaceMadness/hsm-guest-linearize_scanlines.slang
filter_linear15 = true
scale_type15 = source
scale15 = 1.0
float_framebuffer15 = true

// CRT Shader - Guest-Venom ----------------------------------------------------------------
//      Guest's Awesome Shader!!!
//      Has been slightly altered to use the same scaling as the rest of the shders for the bezel & reflection
shader16 = ../crt/shaders/HyperspaceMadness/hsm-crt-guest-dr-venom-with-scaling.slang
mipmap_input16 = true
filter_linear16 = true
scale_type16 = viewport
scale16 = 1.0
float_framebuffer16 = true
wrap_mode16 = mirrored_repeat

// Extra passes to treat the screen and reflection can be added here, E.G. Resolution Independent Scanlines
shader17 = ../stock.slang
float_framebuffer17 = true
alias17 = BR_CrtPass

// Tube Scale Curvature Mapping
// Write mapping into the pass, of the 4 channels, x & y are tube warped coord and z & w are outside tube mask and edge mask
shader18 = ../crt/shaders/HyperspaceMadness/hsm-curvature-mapping.slang
mipmap_input18 = true
filter_linear18 = true
scale_type18 = viewport
float_framebuffer18 = true
alias18 = BR_MappingPass

// Linearize the output from the CRT Shader (BR_CrtPass) and do prep like adding the screen vignette
shader19 = ../crt/shaders/HyperspaceMadness/hsm-prep-post-crt-linearize.slang
mipmap_input19 = true
filter_linear19 = true
float_framebuffer19 = true
wrap_mode19 = mirrored_repeat
alias19 = BR_CRTPreppedLinearPass

// Reduce Resolution  ----------------------------------------------------------------
//      Reduce the resolution to a small static size regardless of final resolution
//      Allows consistent look and faster at different final resolutions for blur
//      Mipmap option allows downscaling without artifacts
shader20 = ../stock.slang
mipmap_input20 = true
filter_linear20 = true
scale_type20 = absolute
float_framebuffer20 = true
// scale_x20 = 480
// scale_y20 = 270
// scale_x20 = 960
// scale_y20 = 540
scale_x20 = 800
scale_y20 = 600
float_framebuffer20 = true

// Add Blur for the Reflection (Horizontal) ----------------------------------------------------------------
shader21 = ../crt/shaders/HyperspaceMadness/hsm-blur-outside-screen-horiz.slang
mipmap_input21 = true
filter_linear21 = true
float_framebuffer21 = true
scale_type22 = source
wrap_mode21 = mirrored_repeat

// Add Blur for the Reflection (Vertical) ----------------------------------------------------------------
shader22 = ../crt/shaders/HyperspaceMadness/hsm-blur-outside-screen-vert.slang
filter_linear22 = false
scale_type22 = source
float_framebuffer22 = true
wrap_mode22 = mirrored_repeat
alias22 = BR_MirrorBlurredPass

// Reduce resolution ----------------------------------------------------------------
// Reduced to a very small amount so we can create a blur which will create a glow from the screen
//      Mipmap option allows smoother downscaling
shader23 = ../blurs/blur9x9.slang
mipmap_input23 = true
filter_linear23 = true
scale_type23 = absolute
float_framebuffer23 = true
scale_x23 = 128
scale_y23 = 128
wrap_mode23 = mirrored_repeat
alias23 = BR_MirrorReflectionDiffusedPass

// Add Diffused glow all around the screen ----------------------------------------------------------------
//      lurred so much that it's non directional
//      Mipmap option allows downscaling without artifacts
shader24 = ../blurs/blur9x9.slang
mipmap_input24 = true
filter_linear24 = true
scale_type24 = absolute
float_framebuffer24 = true
scale_x24 = 12
scale_y24 = 12
wrap_mode24 = mirrored_repeat
alias24 = BR_MirrorFullscreenGlowPass

// Bezel Generation & Reflection ----------------------------------------------------------------
//      Uses these previous passes:
//          BR_CrtPass
//          BR_MirrorBlurredPass
//          BR_MirrorReflectionDiffusedPass
//          BR_MirrorFullscreenGlowPass
//      Blur passes are in linearized color space, and CRT Pass already has gamma encoded in it
//
//      Uses these textures
            // BackgroundImage
            // BackgroundVertImage
            // TubeGlassImage
            // OverlayImage
            // OverlayVertImage

shader25 = ../crt/shaders/HyperspaceMadness/hsm-mega-bezel-reflection.slang
mipmap_input25 = true
filter_linear25 = true
scale_type25 = viewport
float_framebuffer25 = false

// Define how many shaders will be used from this list
shaders = 26

// Define textures to be used by the different passes
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;BackgroundImage;BackgroundVertImage;TubeGlassImage;OverlayImage;OverlayVertImage;"
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

BackgroundImage = ../crt/shaders/HyperspaceMadness/textures/BackgroundImage_3840x2160.png
BackgroundVertImage = ../crt/shaders/HyperspaceMadness/textures/BackgroundImage_3840x2160.png
TubeGlassImage = ../crt/shaders/HyperspaceMadness/textures/TubeGlassOverlayImage_3840x2160.png
OverlayImage = ../crt/shaders/HyperspaceMadness/textures/OverlayImage_OverReflection_3840x2160.png
OverlayVertImage = ../crt/shaders/HyperspaceMadness/textures/OverlayImage_OverReflection_3840x2160.png

parameters = "hmss_mega_screen_scale_on;hmss_screen_aspect_ratio;hmss_integer_scale_mode;hmss_int_scale_multiple_offset;hmss_non_integer_scale;hmss_int_scale_border_min_height;hmss_scanline_direction;hmss_curvature_mode;hmss_curvature_2D_long_axis;hmss_curvature_2D_short_axis;hmss_curvature_3D_radius;hmss_curvature_3D_view_dist;hmss_curvature_3D_tilt_angle_x;hmss_curvature_3D_tilt_angle_y;hmss_corner_radius;hmss_tube_black_edge_thickness;hmss_screen_edge_sharpness;hmbz_tube_glass_image_opacity;hmbz_tube_edge_shadow;hmbz_background_image_aspect_ratio;hmbz_background_image_tube_height;hmbz_background_image_vignette_opacity;hmbz_bezel_inner_corner_radius_scale;hmbz_background_image_opacity;hmbz_bezel_opacity;hmbz_bezel_width;hmbz_bezel_height;hmbz_bezel_color_hue;hmbz_bezel_color_saturation;hmbz_bezel_color_value;hmbz_bezel_color_blend_with_image;hmbz_bezel_brightness;hmbz_bezel_highlight;hmbz_bezel_noise;hmbz_frame_opacity;hmbz_frame_thickness;hmbz_frame_inner_edge_thickness;hmbz_background_image_scale_mode;hmss_crop_overscan_top;hmss_crop_overscan_bottom;hmss_crop_overscan_left;hmss_crop_overscan_right;hmss_pre_crt_black_level;hbl_blur_min;hbl_blur_max;hbr_global_amount;hbr_global_gamma_adjust;hbr_inner_edge_reflection;hbr_inner_edge_fullscreen_glow;hbr_diffused_reflection;hbr_fullscreen_glow;hbr_fullscreen_glow_gamma;hag_afterglow_persistence;hbr_noise_samples;hbr_noise_amount;hbr_noise_sample_distance;hbr_fade_amount;hbr_radial_fade_width;hbr_radial_fade_height;hbr_lateral_outer_fade_position;hbr_lateral_outer_fade_distance;hbr_corner_fade;hbr_corner_inner_spread;hbr_corner_outer_spread"

hmss_mega_screen_scale_on = 1
// hmss_screen_aspect_ratio = 1.5
// hmss_integer_scale_mode = 1
// hmss_int_scale_multiple_offset = 0
// hmss_non_integer_scale = 83
hmss_int_scale_border_min_height = 5.5
// hmss_scanline_direction = 0

////-- Curvature --////
// hmss_curvature_mode = 1
// hmss_curvature_2D_long_axis = 0
// hmss_curvature_2D_short_axis = 0
// hmss_curvature_3D_radius = 2
// hmss_curvature_3D_view_dist = 2
// hmss_curvature_3D_tilt_angle_x = 0
// hmss_curvature_3D_tilt_angle_y = 0

hmss_corner_radius = 10
// hmss_tube_black_edge_thickness = -0.2
// hmbz_bezel_width = 200
// hmbz_bezel_height = 200

// hmbz_background_image_opacity = 0
// hmbz_bezel_opacity = 0
// hmbz_bezel_color_hue = 0
// hmbz_bezel_color_saturation = 0
// hmbz_bezel_color_value = 0
// hmbz_bezel_color_blend_with_image = 1

// hmbz_bezel_brightness = 40
// hmbz_bezel_highlight = 50
// hmbz_bezel_noise = 0

// hmbz_tube_glass_image_opacity = 5
// hmbz_frame_opacity = 0
// hmbz_frame_thickness = 7;
// hmbz_frame_inner_edge_thickness = 0.15

// hmbz_background_image_scale_mode = 0
// hmbz_background_image_aspect_ratio = 1.75
// hmbz_background_image_tube_height = 69
// hmbz_background_image_vignette_opacity = 0.4

// hmss_crop_overscan_top = 0
// hmss_crop_overscan_bottom = 0
// hmss_crop_overscan_left = 0
// hmss_crop_overscan_right = 0
// hmss_pre_crt_black_level = 0

// hmss_screen_edge_sharpness = 1
// hmbz_tube_edge_shadow = 0
// hmbz_bezel_inner_corner_radius_scale = 1


// hbl_blur_min = 0.3
// hbl_blur_max = 0.6

// hbr_noise_amount = 1
// hbr_noise_samples = 4
// hbr_noise_sample_distance = 0.15

// hbr_global_amount = 0.5
// hbr_global_gamma_adjust = 0.9
// hbr_inner_edge_reflection = 0.6
// hbr_inner_edge_fullscreen_glow = 0.4
// hbr_diffused_reflection = 0
// hbr_fullscreen_glow = 30
// hbr_fullscreen_glow_gamma = 1.5
// hbr_fade_amount = 0.2
// hbr_radial_fade_width = 500
// hbr_radial_fade_height = 300
// hbr_lateral_outer_fade_position = 500
// hbr_lateral_outer_fade_distance = 20
// hbr_corner_fade = 10
// hbr_corner_inner_spread = 0
// hbr_corner_outer_spread = 0
// hag_afterglow_persistence = 0.2


// TNTC = "3" // LUT Colors
// brightboost = "1.35"
// gsl = "1" //Scanline Type
// h_smart = "0.5"
// shadowMask = "7" //CRT Mask
// masksize = "2" //CRT Mask Size
// vertmask = "0.25" //PVM colors
// slotmask = "1" //Slot Mask Strength
// slotwidth = "2" // Slot Mask Width
// double_slot = "2" // Slot Mask Height 2x1 or 4x1
// gamma_out = "2.4"

This is Dr Venom stock with reflections. As you can see glow looks “like cut” near edges, kind of looking like a sticker:

Sorry, I didn’t find where I can turn off GPU Screenshot, I created this with the Quick Menu, though.

Ah ok I now see this “cut out” look you’re talking about I’ll take a look into it it definitely needs to be fixed, perhaps there is some float/non-float thing going on.

Edit: For the GPU Screenshot setting, that’s in the video settings.

Thanks fit posting your preset, everything looks correct in there, I’m not sure why the grid with Glow as t 0.20 would look different on your screen. To clarify when you say it doesn’t look the same it’s because the horizontal Glow seems to disappear? Or is it something like the cut-out look Telmo was pointing out?

Well, since I cannot take a screenshot, I took a close-up picture with my phone, hoping the problem can be seen :

As you can see, I get the “sticker effect”…

Edit : I added a second picture which is what I get with the old version of the preset which works fine. You can clearly see the difference.

3 Likes