HSM Mega Bezel Reflection Shader! - Feedback and Updates

It’s public, lol. Not that it really matters, lol. The private message has RE: at the beginning of the title.

1 Like

@HyperspaceMadness: Sorry, last time I spam this conversation, I promise :v:

I feel like a noob right now, because I’m confused witrh PM and public. @HyperspaceMadness: I sent you a PM some minutes ago, but I’m not quite sure that I did it correctly. Did you receive it? I can’t find the message I’ve sent anymore … :thinking:

3 Likes

The Mega Bezel is Updated to V2020-05-08-0

Changes:

  • Fixed the crushing of bit depth which was causing the cut out effect and image degradation
  • Did another reshuffle of the passes in the presets, reorganized to remove a couple of passes which were after the upscaling and now all extra stock passes are before any upscaling happens so this should hopefully be faster. I get 150 FPS at 3840x2160 on a RTX2060
  • Returned the bezel inner edge width control
  • Some code cleanup
  • You will need to update your presets
11 Likes

Thank you! I have been refreshing this page quite often… I’m glad to tell you that slowness went away for my GTX 1060 max q. I can now run Dr Venom full speed in 4k again with these speedups :smiley:

3 Likes

Thanks. I’ll test this when i get home. I hope it will reduce the GPU usage of my 1060, i’m not comfortable with it running at 100%, summer is here already :stuck_out_tongue:

I’m playing at 60fps locked, 1080p.

1 Like

Awesome! I will test this very soon.

and… hope this works…

1 Like

Nice update. I was able to get the quasi scanlines working with just venom on higher res content. It does break the curvature.

3 Likes

Looks good!

What settings did you change on guest-venom to get it looking good for high res content?

The Crt-Royale version is fixed. :slight_smile: Thanks a lot @HyperspaceMadness !

1 Like

Latest version is great. Thanks for adding the bezel inner edge width control back.

GPU usage is reasonable, 35% on a GTX 1060. Though it goes to 100% in the parameters menu for some reason but that’s not an issue.

Now, if someone could figure out what’s the issue with the vertical overscan option messing with the image scaling…

1 Like

No problem :slight_smile:

This is good to hear :slight_smile:

I don’t think I’m aware of what this issue is, is it unrelated to the mega bezel? Or is it that when vertical overscan is ON that it messes up the scaling the mega bezel does?

That was what you said about this issue some time ago:

2 Likes

@HyperspaceMadness Here are my settings for a 1080 screen. If you want this work in 4k change scale_x18, scale_y18 from a value of 1.0 to .5. You could change the mask scale to 4 put halving the resolution has the benefit of making it run faster. It looks nice on sd videos as well. Again, awesome shader, thank you for making it.

shaders = "26"
shader0 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-prep-initial-debug-avgluma-afterglow.slang"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = "AvgLumPass"
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
shader1 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass0.slang"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = ""
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
shader2 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass1.slang"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = ""
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
shader3 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass2.slang"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = ""
float_framebuffer3 = "false"
srgb_framebuffer3 = "false"
shader4 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass3.slang"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = ""
float_framebuffer4 = "false"
srgb_framebuffer4 = "false"
shader5 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass4.slang"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = ""
float_framebuffer5 = "false"
srgb_framebuffer5 = "false"
shader6 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-gtu/hsm-gtu-pass1.slang"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "true"
srgb_framebuffer6 = "false"
scale_type_x6 = "source"
scale_x6 = "1.000000"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-gtu/hsm-gtu-pass2.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = ""
float_framebuffer7 = "true"
srgb_framebuffer7 = "false"
scale_type_x7 = "source"
scale_x7 = "1.000000"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_slang/stock.slang"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "false"
srgb_framebuffer8 = "false"
shader9 = "shaders_slang/stock.slang"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = ""
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
shader10 = "shaders_slang/stock.slang"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = ""
float_framebuffer10 = "false"
srgb_framebuffer10 = "false"
shader11 = "shaders_slang/crt/shaders/guest/lut/lut.slang"
filter_linear11 = "false"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = ""
float_framebuffer11 = "false"
srgb_framebuffer11 = "false"
scale_type_x11 = "source"
scale_x11 = "1.000000"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/crt/shaders/guest/color-profiles.slang"
filter_linear12 = "true"
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "false"
alias12 = ""
float_framebuffer12 = "false"
srgb_framebuffer12 = "false"
scale_type_x12 = "source"
scale_x12 = "1.000000"
scale_type_y12 = "source"
scale_y12 = "1.000000"
shader13 = "shaders_slang/crt/shaders/guest/d65-d50.slang"
filter_linear13 = "true"
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "false"
alias13 = "WhitePointPass"
float_framebuffer13 = "false"
srgb_framebuffer13 = "false"
scale_type_x13 = "source"
scale_x13 = "1.000000"
scale_type_y13 = "source"
scale_y13 = "1.000000"
shader14 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-guest/hsm-guest-linearize.slang"
filter_linear14 = "false"
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
alias14 = "LinearizePass"
float_framebuffer14 = "true"
srgb_framebuffer14 = "false"
scale_type_x14 = "source"
scale_x14 = "1.000000"
scale_type_y14 = "source"
scale_y14 = "1.000000"
shader15 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-guest/hsm-guest-blur_horiz.slang"
filter_linear15 = "false"
wrap_mode15 = "clamp_to_border"
mipmap_input15 = "false"
alias15 = ""
float_framebuffer15 = "true"
srgb_framebuffer15 = "false"
scale_type_x15 = "source"
scale_x15 = "1.000000"
scale_type_y15 = "source"
scale_y15 = "1.000000"
shader16 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-guest/hsm-guest-blur_vert.slang"
filter_linear16 = "false"
wrap_mode16 = "clamp_to_border"
mipmap_input16 = "false"
alias16 = "GlowPass"
float_framebuffer16 = "true"
srgb_framebuffer16 = "false"
scale_type_x16 = "source"
scale_x16 = "1.000000"
scale_type_y16 = "source"
scale_y16 = "1.000000"
shader17 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-guest/hsm-guest-linearize_scanlines.slang"
filter_linear17 = "true"
wrap_mode17 = "clamp_to_border"
mipmap_input17 = "false"
alias17 = ""
float_framebuffer17 = "true"
srgb_framebuffer17 = "false"
scale_type_x17 = "source"
scale_x17 = "1.000000"
scale_type_y17 = "source"
scale_y17 = "1.000000"
shader18 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-guest/hsm-crt-guest-dr-venom-with-scaling.slang"
filter_linear18 = "true"
wrap_mode18 = "mirrored_repeat"
mipmap_input18 = "true"
alias18 = "BR_CRTPass"
float_framebuffer18 = "true"
srgb_framebuffer18 = "false"
scale_type_x18 = "viewport"
scale_x18 = "1.000000"
scale_type_y18 = "viewport"
scale_y18 = "1.000000"
shader19 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-curvature-mapping.slang"
filter_linear19 = "true"
wrap_mode19 = "clamp_to_border"
mipmap_input19 = "true"
alias19 = "BR_MappingPass"
float_framebuffer19 = "true"
srgb_framebuffer19 = "false"
scale_type_x19 = "viewport"
scale_x19 = "1.000000"
scale_type_y19 = "viewport"
scale_y19 = "1.000000"
shader20 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-linearize-crt.slang"
filter_linear20 = "true"
wrap_mode20 = "mirrored_repeat"
mipmap_input20 = "true"
alias20 = "BR_MirrorLowResPass"
float_framebuffer20 = "true"
srgb_framebuffer20 = "false"
scale_type_x20 = "absolute"
scale_x20 = "800"
scale_type_y20 = "absolute"
scale_y20 = "600"
shader21 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-blur-outside-screen-horiz.slang"
filter_linear21 = "true"
wrap_mode21 = "mirrored_repeat"
mipmap_input21 = "true"
alias21 = ""
float_framebuffer21 = "true"
srgb_framebuffer21 = "false"
shader22 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-blur-outside-screen-vert.slang"
filter_linear22 = "false"
wrap_mode22 = "mirrored_repeat"
mipmap_input22 = "false"
alias22 = "BR_MirrorBlurredPass"
float_framebuffer22 = "true"
srgb_framebuffer22 = "false"
scale_type_x22 = "source"
scale_x22 = "1.000000"
scale_type_y22 = "source"
scale_y22 = "1.000000"
shader23 = "shaders_slang/blurs/blur9x9.slang"
filter_linear23 = "true"
wrap_mode23 = "mirrored_repeat"
mipmap_input23 = "true"
alias23 = "BR_MirrorReflectionDiffusedPass"
float_framebuffer23 = "true"
srgb_framebuffer23 = "false"
scale_type_x23 = "absolute"
scale_x23 = "128"
scale_type_y23 = "absolute"
scale_y23 = "128"
shader24 = "shaders_slang/blurs/blur9x9.slang"
filter_linear24 = "true"
wrap_mode24 = "mirrored_repeat"
mipmap_input24 = "true"
alias24 = "BR_MirrorFullscreenGlowPass"
float_framebuffer24 = "true"
srgb_framebuffer24 = "false"
scale_type_x24 = "absolute"
scale_x24 = "12"
scale_type_y24 = "absolute"
scale_y24 = "12"
shader25 = "shaders_slang/crt/shaders/HyperspaceMadness/hsm-mega-bezel-reflection.slang"
filter_linear25 = "true"
wrap_mode25 = "clamp_to_border"
mipmap_input25 = "true"
alias25 = ""
float_framebuffer25 = "false"
srgb_framebuffer25 = "false"
scale_type_x25 = "viewport"
scale_x25 = "1.000000"
scale_type_y25 = "viewport"
scale_y25 = "1.000000"
parameters = "hmss_mega_screen_scale_on;hmss_screen_scale_debug;hmss_rotate_crt_image;hmss_aspect_ratio_mode;hmss_screen_aspect_ratio;hmss_integer_scale_mode;hmss_non_integer_scale;hmss_int_scale_multiple_offset;hmss_int_scale_border_min_height;hmss_scanline_direction;hmss_position_offset_x;hmss_position_offset_y;hmss_crop_overscan_top;hmss_crop_overscan_bottom;hmss_crop_overscan_left;hmss_crop_overscan_right;hmss_curvature_mode;hmss_curvature_3D_radius;hmss_curvature_3D_view_dist;hmss_curvature_3D_tilt_angle_x;hmss_curvature_3D_tilt_angle_y;hmss_curvature_2D_long_axis;hmss_curvature_2D_short_axis;hmss_curvature_post_scale_x;hmss_curvature_post_scale_y;hmss_corner_radius;hmss_screen_edge_sharpness;hmss_screen_vignette;hmss_pre_crt_black_level;hmss_pre_crt_gamma;hmss_post_crt_gamma;hmss_negative_crop_brightness;hmss_afterglow_amount;hmss_tube_black_edge_thickness;hmss_tube_black_edge_curvature_scale;hmbz_tube_glass_image_opacity;hmbz_tube_edge_shadow;hmbz_background_image_opacity;hmbz_background_image_scale_mode;hmbz_background_image_aspect_ratio;hmbz_background_image_tube_height;hmbz_background_image_vignette_opacity;hmbz_bezel_color_hue;hmbz_bezel_color_saturation;hmbz_bezel_color_value;hmbz_bezel_color_blend_with_image;hmbz_bezel_opacity;hmbz_bezel_width;hmbz_bezel_height;hmbz_bezel_inner_corner_radius_scale;hmbz_bezel_outer_corner_radius_scale;hmbz_bezel_inner_edge_thickness;hmbz_bezel_brightness;hmbz_bezel_highlight;hmbz_bezel_noise;hmbz_frame_opacity;hmbz_frame_thickness;hmbz_frame_outer_corner_radius;hmbz_frame_pos_y_offset;hmbz_frame_shadow_opacity;hmbz_frame_shadow_width;hbl_blur_num_samples;hbl_blur_min;hbl_blur_max;hbr_noise_amount;hbr_noise_samples;hbr_noise_sample_distance;hbr_global_amount;hbr_global_gamma_adjust;hbr_inner_edge_reflection;hbr_inner_edge_fullscreen_glow;hbr_direct_reflection;hbr_diffused_reflection;hbr_fullscreen_glow;hbr_fullscreen_glow_gamma;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_fade_distance;hbr_corner_inner_spread;hbr_corner_outer_spread;hbr_corner_spread_falloff;dedithering_on;VL;gtu_on;compositeConnection;signalResolution;TNTC;CP;CS;WP;wp_saturation;GLOW_FALLOFF_H;GLOW_FALLOFF_V;brightboost;brightboost1;gsl;scanline1;scanline2;beam_min;beam_max;beam_size;h_sharp;s_sharp;glow;shadowMask;masksize;vertmask;slotmask;slotwidth;double_slot;slotms;mcut;maskDark;maskLight;CGWG;spike;inter;interm;bloom;scans"
hmss_mega_screen_scale_on = "1.000000"
hmss_screen_scale_debug = "0.000000"
hmss_rotate_crt_image = "0.000000"
hmss_aspect_ratio_mode = "0.000000"
hmss_screen_aspect_ratio = "1.333300"
hmss_integer_scale_mode = "0.000000"
hmss_non_integer_scale = "98.169312"
hmss_int_scale_multiple_offset = "0.000000"
hmss_int_scale_border_min_height = "5.500000"
hmss_scanline_direction = "2.000000"
hmss_position_offset_x = "0.000000"
hmss_position_offset_y = "0.000000"
hmss_crop_overscan_top = "0.000000"
hmss_crop_overscan_bottom = "0.000000"
hmss_crop_overscan_left = "0.000000"
hmss_crop_overscan_right = "0.000000"
hmss_curvature_mode = "3.000000"
hmss_curvature_3D_radius = "2.000000"
hmss_curvature_3D_view_dist = "2.000000"
hmss_curvature_3D_tilt_angle_x = "0.000000"
hmss_curvature_3D_tilt_angle_y = "0.000000"
hmss_curvature_2D_long_axis = "0.000000"
hmss_curvature_2D_short_axis = "0.000000"
hmss_curvature_post_scale_x = "100.000000"
hmss_curvature_post_scale_y = "100.000000"
hmss_corner_radius = "10.000000"
hmss_screen_edge_sharpness = "0.400000"
hmss_screen_vignette = "0.000000"
hmss_pre_crt_black_level = "0.000000"
hmss_pre_crt_gamma = "2.099998"
hmss_post_crt_gamma = "1.000000"
hmss_negative_crop_brightness = "0.000000"
hmss_afterglow_amount = "0.070000"
hmss_tube_black_edge_thickness = "0.300000"
hmss_tube_black_edge_curvature_scale = "1.000000"
hmbz_tube_glass_image_opacity = "0.000000"
hmbz_tube_edge_shadow = "0.700000"
hmbz_background_image_opacity = "0.000000"
hmbz_background_image_scale_mode = "2.000000"
hmbz_background_image_aspect_ratio = "1.770000"
hmbz_background_image_tube_height = "69.000000"
hmbz_background_image_vignette_opacity = "0.500000"
hmbz_bezel_color_hue = "0.000000"
hmbz_bezel_color_saturation = "0.000000"
hmbz_bezel_color_value = "10.000000"
hmbz_bezel_color_blend_with_image = "1.000000"
hmbz_bezel_opacity = "0.000000"
hmbz_bezel_width = "79.999352"
hmbz_bezel_height = "79.999352"
hmbz_bezel_inner_corner_radius_scale = "0.500000"
hmbz_bezel_outer_corner_radius_scale = "1.000000"
hmbz_bezel_inner_edge_thickness = "0.900000"
hmbz_bezel_brightness = "40.000000"
hmbz_bezel_highlight = "1.000000"
hmbz_bezel_noise = "30.000000"
hmbz_frame_opacity = "1.000000"
hmbz_frame_thickness = "8.000000"
hmbz_frame_outer_corner_radius = "5.000000"
hmbz_frame_pos_y_offset = "0.000000"
hmbz_frame_shadow_opacity = "1.000000"
hmbz_frame_shadow_width = "10.000000"
hbl_blur_num_samples = "20.000000"
hbl_blur_min = "0.000000"
hbl_blur_max = "0.950000"
hbr_noise_amount = "0.500000"
hbr_noise_samples = "0.000000"
hbr_noise_sample_distance = "0.200000"
hbr_global_amount = "0.400000"
hbr_global_gamma_adjust = "1.200000"
hbr_inner_edge_reflection = "0.700000"
hbr_inner_edge_fullscreen_glow = "0.400000"
hbr_direct_reflection = "1.500000"
hbr_diffused_reflection = "0.500000"
hbr_fullscreen_glow = "75.000000"
hbr_fullscreen_glow_gamma = "3.000000"
hbr_fade_amount = "1.000000"
hbr_radial_fade_width = "70.000000"
hbr_radial_fade_height = "100.000000"
hbr_lateral_outer_fade_position = "-18.000000"
hbr_lateral_outer_fade_distance = "20.000000"
hbr_corner_fade = "10.000000"
hbr_corner_fade_distance = "100.000000"
hbr_corner_inner_spread = "500.000000"
hbr_corner_outer_spread = "160.000000"
hbr_corner_spread_falloff = "50.000000"
dedithering_on = "0.000000"
VL = "0.000000"
gtu_on = "1.000000"
compositeConnection = "0.000000"
signalResolution = "432.000000"
TNTC = "0.000000"
CP = "0.000000"
CS = "2.000000"
WP = "0.000000"
wp_saturation = "1.100000"
GLOW_FALLOFF_H = "1.000000"
GLOW_FALLOFF_V = "1.000000"
brightboost = "1.400000"
brightboost1 = "1.150000"
gsl = "0.000000"
scanline1 = "6.000000"
scanline2 = "8.000000"
beam_min = "0.800000"
beam_max = "0.800000"
beam_size = "0.000000"
h_sharp = "5.250000"
s_sharp = "0.400000"
glow = "0.200000"
shadowMask = "7.000000"
masksize = "2.000000"
vertmask = "0.000000"
slotmask = "0.400000"
slotwidth = "6.000000"
double_slot = "1.000000"
slotms = "1.000000"
mcut = "0.000000"
maskDark = "0.000000"
maskLight = "1.500000"
CGWG = "0.500000"
spike = "1.000000"
inter = "0.000000"
interm = "3.000000"
bloom = "0.000000"
scans = "0.500000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;BackgroundImage;BackgroundVertImage;TubeGlassImage;OverlayImage;OverlayVertImage"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/lut/sony_trinitron1.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/lut/sony_trinitron2.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/lut/other1.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
BackgroundImage = "shaders_slang/crt/shaders/HyperspaceMadness/textures/BackgroundImage_3840x2160.png"
BackgroundImage_wrap_mode = "clamp_to_border"
BackgroundImage_mipmap = "false"
BackgroundVertImage = "shaders_slang/crt/shaders/HyperspaceMadness/textures/BackgroundImage_3840x2160.png"
BackgroundVertImage_wrap_mode = "clamp_to_border"
BackgroundVertImage_mipmap = "false"
TubeGlassImage = "shaders_slang/crt/shaders/HyperspaceMadness/textures/TubeGlassOverlayImage_3840x2160.png"
TubeGlassImage_wrap_mode = "clamp_to_border"
TubeGlassImage_mipmap = "false"
OverlayImage = "shaders_slang/crt/shaders/HyperspaceMadness/textures/OverlayImage_OverReflection_3840x2160.png"
OverlayImage_wrap_mode = "clamp_to_border"
OverlayImage_mipmap = "false"
OverlayVertImage = "shaders_slang/crt/shaders/HyperspaceMadness/textures/OverlayImage_OverReflection_3840x2160.png"
OverlayVertImage_wrap_mode = "clamp_to_border"
OverlayVertImage_mipmap = "false"
1 Like

the royal preset does eliminate the issue, but it fails when i try to save it for some reason :frowning:

2 Likes

When you try to save it through retroarch it fails?


Edit: I’m not sure, but perhaps it might be related to this:

Hey guys!

2 Likes

Excuse my ignorance but what is MDAPT and GTU?

They’re shaders that handle dithering. MDAPT uses pattern detection and blends the colors, while GTU uses blurring.

2 Likes

Is there a way to remove the moire effect when having a curved screen…

Also how do you go about getting more pronounced scanlines on N64, i guess the 480p resolution makes them less noticable?

1 Like

You could try Royale, it seems to have less issues with Moire. Also try running at integer scale if you can.

If you are trying to get more pronounced scanlines with curvature at that 480p you are likely to get even more Moire.

EDIT: I just clued into the fact that you are using the glass preset which is currently guest venom, I’ll make a preset for royale next update.

2 Likes