Please show off what crt shaders can do!

#reference "shaders_slang/bezel/Mega_Bezel/Presets/MBZ__2__STANDARD.slangp"
HSM_CURVATURE_2D_SCALE_LONG_AXIS = "10.000000"
HSM_CURVATURE_2D_SCALE_SHORT_AXIS = "10.000000"
HSM_TUBE_BLACK_EDGE_CURVATURE_SCALE = "1000.000000"
HSM_BZL_COLOR_VALUE = "14.999995"
HSM_NIGHT_OPACITY = "100.000000"
HSM_INTRO_WHEN_TO_SHOW = "0.000000"
GTU_MODE = "1.000000"
GDV_GLOW_STRENGTH = "0.010000"
GDV_BLOOM_STRENGTH = "0.050000"
GDV_BRIGHT_BOOST_DARK_COLORS = "1.500000"
GDV_BRIGHT_BOOST_BRIGHT_COLORS = "1.500000"
GDV_SCANLINE_TYPE = "2.000000"
GDV_SCANLINE_1_2_SATURATION = "1.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_TYPE = "-1.000000"
8 Likes

Is it possible to have shader that look like these pictures? will it need 4k or 8k?

1 Like

It depends on your expectations. If your question means: “Can I run a shader and think I’m looking at a CRT?”

The short answer is: no. CRTs are entirely different technology vs modern displays, and we’ll be lucky to have displays that can even approach some of a CRT’s characteristics (for better or for worse) within this decade. A picture of a light bulb will never be a light bulb, regardless of the picture’s resolution, and the closer you get to that light bulb, the more apparent the differences become.

If your question means: “Can I run a shader to make my games look the way they look on my CRT,” the answer is: yes, at a distance of a few feet away, we’re already there. Look around at some of the pics in this thread and see. It’s not strictly a matter of resolution, though higher resolution does help (royale and guest-dr-venom both really take off at 1440p and higher).

9 Likes

I really like the bezel reflection shader but I think it’s best on a 4K display. At 1080p I want to use all the vertical resolution and then some, usually setting a custom ratio of 1494x1120 and cropping the image, just as a CRT would.

However, the Mega Bezel shader is still very useful because you can disable the bezel completely with the right combination of settings, and it combines guest-dr-venom with a number of useful shaders that can be a bit of a pain to stack properly. I find that I really need GTUv50 + GDV + Blargg RGB filter or composite filter to blend everything in just the right way. Now if I take any of these away it looks worse to me.

I didn’t like how in my previous shot using 1.00/2.00 for lottes mask the gap lines shrank to a single pixel row of phosphors; this looks unnatural and awkward. This time I left lottes at the defaults and just raised bright boost even though this introduces some slight clipping.

+Blargg RGB filter

7 Likes

Is there a shader that does the same thing as Blargg’s NTSC filter? Some cores don’t have the option and now that I’ve started using it, nothing looks right without it.

1 Like

there’s no direct port of it, but all of the NTSC shaders are dancing around the same idea. However, there’s one thing those shaders don’t have: the RGB preset of blargg’s NTSC. I’ve always liked this preset, but I’m also a bit confused by it, since–in my experience–RGB connections from consoles bypass the NTSC encoders altogether (which makes sense, since NTSC uses YIQ colorspace). So, I’m not really sure what its purpose is, though I definitely think it looks subjectively nice :man_shrugging:

There’s also the video filter version you can use, but it’s tied to the 256-px width of the S/NES.

4 Likes

Yeah if you want this you can turn off the background & bezel stuff and turn on integer scale, and set the integer scale minimum border height to negative and it should do the integer scaling you are looking for, basically a bit larger than the screen height. .

If you would like the Mega Bezel stack of shaders but without the reflection and bezel we can make a preset like this, it would run much faster than with the reflection & bezel.

5 Likes

there’s one thing those shaders don’t have: the RGB preset of blargg’s NTSC.

I thought the same thing; I don’t know why it exists, but it looks great. Now I can’t play anything without it. Is it possible to recreate it with the existing NTSC shaders?

@guest.r @HyperspaceMadness

This seems like an opportunity for further improvement, maybe you’d be interested? It seems like the RGB filter is doing everything we want subtractive sharpness to do, but without the pesky artifacts.

Yes, that would be great.

5 Likes

I’ve got a preset coming for you… :grin:

The 4.995 vertical integer scale is really just 5, same thing with the 1119, it’s really 1120

This is also a 200% performance improvement compared to the STANDARD version

11 Likes

Trying to match the brightness of the original, unshaded image. This is also a good screen for demonstrating why crt shaders matter.

Does anyone know why, even with simple preset enabled, I’m still getting the following?

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_ASPECT_RATIO_MODE = "6.000000"
HSM_CURVATURE_MODE = "-1.000000"
HSM_COLOR_CRT_GAMMA = "2.400000"
HSM_INTRO_WHEN_TO_SHOW = "0.000000"
DG_WHITE_POINT_TEMP = "7004.000000"
GTU_MODE = "1.000000"
GST_GLOW_GRADE = "0.000000"
GDV_GLOW_STRENGTH = "0.000000"
GDV_BLOOM_STRENGTH = "0.000000"
GDV_BRIGHT_BOOST_DARK_COLORS = "2.500000"
GDV_BRIGHT_BOOST_BRIGHT_COLORS = "2.499998"
GDV_SCANLINE_1_2_SATURATION = "1.000000"
GDV_SCANLINE_DARK_BEAM_SIZE_MIN = "1.500000"
GDV_SCANLINE_BRIGHT_BEAM_SIZE_MAX = "1.000000"
GDV_SCANLINE_OVERGROWN_BRIGHT_BEAM = "1.000000"
GDV_SCANLINE_SPIKE_REMOVAL = "0.000000"
GDV_PVM_LIKE_COLORS = "0.000000"
GDV_HORIZONTAL_SHARPNESS = "5.000000"
GDV_SUBTRACTIVE_SHARPNESS = "0.000000"
GDV_MASK_TYPE = "3.000000"
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"
5 Likes

How did you load then save this preset? and are you saving a per-game preset?

Or are you saving a specific file?

Also can you show your log?

If you have Simple Presets on and you have the log enabled to show debug info it will actually print out in the log why it saved a full preset.

5 Likes

Figured it out, thanks :slight_smile:

Mask 7 is really the best for preserving contrast, looks amazing on the plasma.

Also, compare the texture to this shot of a CRT from the movie “Earth Girls Are Easy:”

#reference "shaders_slang/bezel/Mega_Bezel/Presets/MBZ__2__STANDARD.slangp"
HSM_ASPECT_RATIO_MODE = "6.000000"
HSM_CURVATURE_MODE = "-1.000000"
HSM_COLOR_BLACK_LEVEL = "0.000000"
HSM_INTRO_WHEN_TO_SHOW = "0.000000"
DG_WHITE_POINT_TEMP = "8004.000000"
GTU_MODE = "1.000000"
GDV_GLOW_STRENGTH = "0.000000"
GDV_BLOOM_STRENGTH = "0.000000"
GDV_BRIGHT_BOOST_DARK_COLORS = "2.999999"
GDV_BRIGHT_BOOST_BRIGHT_COLORS = "2.999998"
GDV_SCANLINE_TYPE = "1.000000"
GDV_SCANLINE_1_2_SATURATION = "1.000000"
GDV_SCANLINE_DARK_BEAM_SIZE_MIN = "1.600000"
GDV_SCANLINE_BRIGHT_BEAM_SIZE_MAX = "1.100000"
GDV_SCANLINE_SPIKE_REMOVAL = "0.000000"
GDV_PVM_LIKE_COLORS = "0.000000"
GDV_HORIZONTAL_SHARPNESS = "3.000000"
GDV_SUBTRACTIVE_SHARPNESS = "0.000000"
GDV_MASK_SIZE = "2.000000"
GDV_MASK_0_7_STRENGTH = "0.500000"

Just for fun, here’s another CRT closeup from the same movie. This one is a computer monitor.

6 Likes

New to this forum.

I’m having trouble finding my ideal CRT shader. I want one that adds subtle scanlines and can hide dithering, like in various Sega Genesis and SNES game, without blurring or distorting the image too much. So far the shader’s I’ve tried have either not worked at all, or they blur the image too much and make it unpleasant to look at.

Looking at some older posts on this forum, The dithering crt shader that hyllian was working on looked promising. Is that available anywhere or is it a preset included with the most recent version of Retroarch?

1 Like

This is in the most recent version of Retroarch, you might need to update your shaders through the UI. It’s called sgenpt it’s in

shaders\shaders_slang\dithering\sgenpt-mix.slangp

You can also try mdapt, if you want something more “surgical” it can blend the dithering checkerboards without affecting the rest of the image.

1 Like

Well guest.r shader can look mighty with some tweaking, even on 1080p.

4 Likes

Bahamut Lagoon is really weird.

2 Likes

Yes, in alot of ways XD.

Which mask is that, I’m dumb

1 Like

mask 7, doubled phosphor width. Mask strength 50. Looks very similar to a consumer Trinitron - see second image in this post.

2 Likes