Yeah I still don’t get it
Edge curvature scale multiplier changes the shape of the bezel, too
Am I seeing all the right options?
Yeah I still don’t get it
Edge curvature scale multiplier changes the shape of the bezel, too
Am I seeing all the right options?
Yup that’s right
By default the bezel follows this, It seemed like the best default behavior to have everything follow by default.
If you don’t want the bezel to follow an option would be to use the Use Independent Scale & Curvature parameter, we might want to break this into two parameters, use independent scale and use independent curvature. Because in your case I think you probably only want independent curvature.
If it was generally better to have the screen black edge not affect the bezel curvature we could go that direction as well, but we’d have to see what works better in the general case.
With independent scale & curvature enabled, edge curvature scale multiplier just changes the shapes of the bezel
also, I enabled simple preset, but I’m still getting this
shaders = "30"
shader0 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-prep-info-cache-standard.slang"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = "InfoCachePass"
float_framebuffer0 = "true"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "0.062500"
shader1 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-prep-intro.slang"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = "IntroPass"
float_framebuffer1 = "true"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "16.000000"
shader2 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-dogway/hsm-grade.slang"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = "ColorCorrectPass"
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
shader3 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass0.slang"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = ""
float_framebuffer3 = "false"
srgb_framebuffer3 = "false"
shader4 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass1.slang"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = ""
float_framebuffer4 = "false"
srgb_framebuffer4 = "false"
shader5 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass2.slang"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = ""
float_framebuffer5 = "false"
srgb_framebuffer5 = "false"
shader6 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass3.slang"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
shader7 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-mdapt/hsm-mdapt-pass4.slang"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = ""
float_framebuffer7 = "false"
srgb_framebuffer7 = "false"
shader8 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-sgenpt-mix/hsm-sgenpt-mix.slang"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "false"
srgb_framebuffer8 = "false"
shader9 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-ps1dither/hsm-PS1-Undither-BoxBlur.slang"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = "refpass"
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
shader10 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-scalefx/hsm-scalefx-pass0.slang"
filter_linear10 = "false"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = "scalefx_pass0"
float_framebuffer10 = "true"
srgb_framebuffer10 = "false"
scale_type_x10 = "source"
scale_x10 = "1.000000"
scale_type_y10 = "source"
scale_y10 = "1.000000"
shader11 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-scalefx/hsm-scalefx-pass1.slang"
filter_linear11 = "false"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = ""
float_framebuffer11 = "true"
srgb_framebuffer11 = "false"
scale_type_x11 = "source"
scale_x11 = "1.000000"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-scalefx/hsm-scalefx-pass2.slang"
filter_linear12 = "false"
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/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-scalefx/hsm-scalefx-pass3.slang"
filter_linear13 = "false"
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "false"
alias13 = ""
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/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-scalefx/hsm-scalefx-pass4.slang"
filter_linear14 = "false"
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
alias14 = ""
float_framebuffer14 = "false"
srgb_framebuffer14 = "false"
scale_type_x14 = "source"
scale_x14 = "3.000000"
scale_type_y14 = "source"
scale_y14 = "3.000000"
shader15 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-gtu/hsm-gtu-pass1.slang"
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/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-gtu/hsm-gtu-pass2.slang"
filter_linear16 = "false"
wrap_mode16 = "clamp_to_border"
mipmap_input16 = "false"
alias16 = ""
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/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-phosphor-persistence.slang"
filter_linear17 = "false"
wrap_mode17 = "clamp_to_border"
mipmap_input17 = "false"
alias17 = "PersistencePass"
float_framebuffer17 = "false"
srgb_framebuffer17 = "false"
scale_type_x17 = "source"
scale_x17 = "1.000000"
scale_type_y17 = "source"
scale_y17 = "1.000000"
shader18 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-guest/hsm-guest-linearize.slang"
filter_linear18 = "false"
wrap_mode18 = "clamp_to_border"
mipmap_input18 = "false"
alias18 = "LinearizePass"
float_framebuffer18 = "true"
srgb_framebuffer18 = "false"
scale_type_x18 = "source"
scale_x18 = "1.000000"
scale_type_y18 = "source"
scale_y18 = "1.000000"
shader19 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-guest/hsm-guest-linearize_scanlines.slang"
filter_linear19 = "true"
wrap_mode19 = "clamp_to_border"
mipmap_input19 = "false"
alias19 = ""
float_framebuffer19 = "true"
srgb_framebuffer19 = "false"
shader20 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-guest/hsm-get-linearize-pass.slang"
filter_linear20 = "true"
wrap_mode20 = "clamp_to_border"
mipmap_input20 = "true"
alias20 = ""
float_framebuffer20 = "false"
srgb_framebuffer20 = "false"
scale_type_x20 = "absolute"
scale_x20 = "320"
scale_type_y20 = "absolute"
scale_y20 = "320"
shader21 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-guest/hsm-guest-blur_horiz.slang"
filter_linear21 = "true"
wrap_mode21 = "clamp_to_border"
mipmap_input21 = "false"
alias21 = "BR_MappingPass"
float_framebuffer21 = "true"
srgb_framebuffer21 = "false"
scale_type_x21 = "source"
scale_x21 = "1.000000"
scale_type_y21 = "source"
scale_y21 = "1.000000"
shader22 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-guest/hsm-guest-blur_vert.slang"
filter_linear22 = "true"
wrap_mode22 = "clamp_to_border"
mipmap_input22 = "true"
alias22 = "GlowPass"
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/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-guest/hsm-crt-guest-dr-venom-with-scaling.slang"
filter_linear23 = "true"
wrap_mode23 = "clamp_to_border"
mipmap_input23 = "true"
alias23 = "BR_CRTPass"
float_framebuffer23 = "false"
srgb_framebuffer23 = "false"
scale_type_x23 = "viewport"
scale_x23 = "1.000000"
scale_type_y23 = "viewport"
scale_y23 = "1.000000"
shader24 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-linearize-crt.slang"
filter_linear24 = "true"
wrap_mode24 = "clamp_to_border"
mipmap_input24 = "true"
alias24 = "BR_MirrorLowResPass"
float_framebuffer24 = "false"
srgb_framebuffer24 = "false"
scale_type_x24 = "absolute"
scale_x24 = "800"
scale_type_y24 = "absolute"
scale_y24 = "600"
shader25 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-blur-outside-screen-horiz.slang"
filter_linear25 = "true"
wrap_mode25 = "clamp_to_border"
mipmap_input25 = "true"
alias25 = ""
float_framebuffer25 = "false"
srgb_framebuffer25 = "false"
shader26 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-blur-outside-screen-vert.slang"
filter_linear26 = "true"
wrap_mode26 = "clamp_to_border"
mipmap_input26 = "false"
alias26 = "BR_MirrorBlurredPass"
float_framebuffer26 = "false"
srgb_framebuffer26 = "false"
shader27 = "shaders_slang/blurs/blur9x9.slang"
filter_linear27 = "true"
wrap_mode27 = "clamp_to_border"
mipmap_input27 = "true"
alias27 = "BR_MirrorReflectionDiffusedPass"
float_framebuffer27 = "false"
srgb_framebuffer27 = "false"
scale_type_x27 = "absolute"
scale_x27 = "128"
scale_type_y27 = "absolute"
scale_y27 = "128"
shader28 = "shaders_slang/blurs/blur9x9.slang"
filter_linear28 = "true"
wrap_mode28 = "clamp_to_border"
mipmap_input28 = "true"
alias28 = "BR_MirrorFullscreenGlowPass"
float_framebuffer28 = "false"
srgb_framebuffer28 = "false"
scale_type_x28 = "absolute"
scale_x28 = "12"
scale_type_y28 = "absolute"
scale_y28 = "12"
shader29 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/hsm-bezel-reflection-standard.slang"
wrap_mode29 = "clamp_to_border"
mipmap_input29 = "false"
alias29 = "BR_CRTAndReflectionPass"
float_framebuffer29 = "true"
srgb_framebuffer29 = "false"
scale_type_x29 = "viewport"
scale_x29 = "1.000000"
scale_type_y29 = "viewport"
scale_y29 = "1.000000"
HSM_CURVATURE_2D_SCALE_LONG_AXIS = "0.000000"
HSM_CURVATURE_2D_SCALE_SHORT_AXIS = "0.000000"
HSM_TUBE_BLACK_EDGE_CURVATURE_SCALE = "500.000000"
HSM_TUBE_BLACK_EDGE_THICKNESS = "150.000000"
HSM_BZL_USE_INDEPENDENT_SCALE_AND_CURVATURE = "1.000000"
HSM_BZL_WIDTH = "70.000000"
HSM_BZL_HEIGHT = "60.000000"
HSM_FRM_THICKNESS = "150.000000"
HSM_FRM_THICKNESS_SCALE_X = "120.000000"
DG_WHITE_POINT_TEMP = "8004.000000"
GDV_GLOW_STRENGTH = "0.010000"
GDV_BLOOM_STRENGTH = "0.050000"
GDV_BRIGHT_BOOST_BRIGHT_COLORS = "1.400000"
GDV_SCANLINE_TYPE = "2.000000"
GDV_SCANLINE_1_2_SATURATION = "1.000000"
GDV_SCANLINE_SHAPE_CENTER_HIGH = "5.000000"
GDV_SCANLINE_SHAPE_EDGES_LOW = "15.000000"
GDV_SCANLINE_DARK_BEAM_SIZE_MIN = "1.500000"
GDV_SCANLINE_BRIGHT_BEAM_SIZE_MAX = "1.000000"
GDV_SCANLINE_OVERGROWN_BRIGHT_BEAM = "0.000000"
GDV_PVM_LIKE_COLORS = "0.000000"
GDV_HORIZONTAL_SHARPNESS = "4.000000"
GDV_SUBTRACTIVE_SHARPNESS = "0.000000"
GDV_MASK_0_7_STRENGTH = "0.400000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;IntroImage;ScreenPlacementImage;ColoredGelImage;TubeStaticReflectionImage;BackgroundImage;BackgroundVertImage;ReflectionMaskImage;DecalImage;NightLightingImage;FrameTextureImage;LEDImage;TopLayerImage"
SamplerLUT1 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/lut/16.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/lut/64.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/lut/other1_32.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
IntroImage = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/IntroImage_MegaBezelLogo.png"
IntroImage_linear = "true"
IntroImage_wrap_mode = "clamp_to_border"
IntroImage_mipmap = "false"
ScreenPlacementImage = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/Placeholder_Transparent_16x16.png"
ScreenPlacementImage_linear = "false"
ScreenPlacementImage_wrap_mode = "clamp_to_border"
ScreenPlacementImage_mipmap = "false"
ColoredGelImage = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/Placeholder_Transparent_16x16.png"
ColoredGelImage_linear = "true"
ColoredGelImage_wrap_mode = "clamp_to_border"
ColoredGelImage_mipmap = "false"
TubeStaticReflectionImage = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/TubeGlassOverlayImage_3840x2160.png"
TubeStaticReflectionImage_linear = "true"
TubeStaticReflectionImage_wrap_mode = "clamp_to_border"
TubeStaticReflectionImage_mipmap = "false"
BackgroundImage = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/TV1.png"
BackgroundImage_linear = "true"
BackgroundImage_wrap_mode = "clamp_to_border"
BackgroundImage_mipmap = "false"
BackgroundVertImage = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/TV1.png"
BackgroundVertImage_linear = "true"
BackgroundVertImage_wrap_mode = "clamp_to_border"
BackgroundVertImage_mipmap = "false"
ReflectionMaskImage = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/Placeholder_White_16x16.png"
ReflectionMaskImage_linear = "true"
ReflectionMaskImage_wrap_mode = "clamp_to_border"
ReflectionMaskImage_mipmap = "false"
DecalImage = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/Placeholder_Transparent_16x16.png"
DecalImage_linear = "true"
DecalImage_wrap_mode = "clamp_to_border"
DecalImage_mipmap = "false"
NightLightingImage = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/NightLighting_3840x2160.jpg"
NightLightingImage_linear = "true"
NightLightingImage_wrap_mode = "clamp_to_border"
NightLightingImage_mipmap = "false"
FrameTextureImage = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/FrameTexture_2800x2120.png"
FrameTextureImage_linear = "true"
FrameTextureImage_wrap_mode = "clamp_to_border"
FrameTextureImage_mipmap = "false"
LEDImage = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/Placeholder_Transparent_16x16.png"
LEDImage_linear = "true"
LEDImage_wrap_mode = "clamp_to_border"
LEDImage_mipmap = "false"
TopLayerImage = "shaders_slang/bezel/Mega_Bezel/shaders/HyperspaceMadness/textures/Placeholder_Transparent_16x16.png"
TopLayerImage_linear = "true"
TopLayerImage_wrap_mode = "clamp_to_border"
TopLayerImage_mipmap = "false"
I’ll have to check this out, I haven’t tested these two together yet
Are you saving over top of the preset you loaded?
Your steps to do this should be:
I saw some recent screenshots someone posted, and it seems to me that the LCD-GRID V2 shader doesn’t represent the 3DS screen very well.
I’m not totally sure but I’m thinking that Guest-venom with maybe a Trinitron or aperture grill mask might represent it better (and have less artifacts)
maybe one of the aperture grille masks (I’m partial to 7 because of how forgiving it is of scale/resolution/subpixels), plus some fiddling with the parameters. At 4k you might have to double the mask phosphor width or whatever. I think you need to max out the sharpness, too. There’s also something weird going on with some of the scanlines (probably because they’re not really scanlines), but the gap lines are sometimes brighter than the “active” lines, like in the red text.
Also I tried black edge curvature with bezel independent scale and curvature off and on, and neither one would change the black edge curvature. What settings did you use in the example shot you posted? Thanks!
Are we sure that isn’t a screenshot of hacked 3DS running a CRT shader? I’ve never seen an LCD look so much like a CRT.
That’s a good point, it’s possible it is…
One thing I definitely don’t see at this size is the red, green & blue sub pixel elements.
I’ll ask the person who posted it…
Edit:
I just checked their post and it’s because it’s in 2d mode with what they call the parallax barrier, this page explains it
https://gbatemp.net/threads/guide-why-pixels-look-different-between-2d-and-3d-modes.482683/
So no shader is just a 3ds in 2d mode which means all the pixels are seen by both eyes, and the lcd sub pixels are arranged vertically rather than horizontally. I think it might be the blue sub-pixel which contributes to the scanline look
I set the main screen curvature to 10 instead of 100 and then increased the black edge curvature multiplier to a lot, maybe 500 or 1000
. It’s a multiplier, so curvature can’t be at 0, which is what I was doing before
I think this is pretty realistic, as ideally the CRT was calibrated so that straight lines appeared straight despite the curved surface. I’m still nitpicking the bezel frame corners and a few other things but overall I think it looks great
While your messing with the parameters check out the Reflection Corner inner and outer spread. It’s really pretty inspiring the attention to detail that HSM has put in this thing!
Is it possible the new basic DS shader is darker as well?
Two screens attached. The darker one is just the new shader with a border.
Can you take this and turn on the A/B Compare and take a snapshot so I can see the difference between the core output?
[ CRT vs ORIGINAL A/B COMPARE ]________
Compare ON
I… think… I messed up here. This comparison shot is much lighter.
I may well have accidntally loaded a different shader by accident. Sorry!
yeah, the 3DS top screen is remarkably CRT like. It looks great in motion. Especially for older VC games
I’ve never noticed a grid pattern on mine.
hi
Can the reflection shaders be installed on retroarch android? Please tell me step by step how this works.
thx
I have no idea how to install it but I can say that the only Android device that has any chance at running it is the NVIDIA Shield TV Pro.
I see!
But installing bezels like from orionsangel, is this possible on retroarch on android? I can’t find how to do it
Yes, it is possible. The method varies greatly depending on which Android device you are using. I use them on all my Android devices. Your best bet is to search for help on your specific device.
It can also be a real pain and involve a LOT of manual editing of configuration files.
Even on the PC it is difficult and tedious. That is why @HyperspaceMadness developed this shader in the first place.
If and when you are successful I do have a fairly complete Overlays collection in my repo. Depending on your device you may want to convert the graphics from 4K to 1920x1080.
Here is a link to the repo.
https://github.com/Duimon/Retroarch-Overlays
They are in a “Logo” folder.
If you find it impossible to find the help you are looking for I can help you search for it.
It would be appropriate to PM me, since it is a bit off topic.
Mega Bezel is updated to V 0.9.10 2021-05-06
Changes: