Please show off what crt shaders can do!

A bit more elegant approach to the shader i did here

Simpler without unneeded stuff, but still brightness is killed overall on a normal monitor.

2 Likes

Hi! I use this setting with ntsc-adaptive with hyllian-sync and Guest custom-sharpen. I like how the scanlines are very thick in the dark parts without losing saturation, as well as I love the formed spikes.

However, I could not configure scanlines similarly in guest-venom-advanced-ntsc as scanlines always lose saturation. So I tried combining ntsc-adaptive with custom-fast-sharpen and image-adjustment with guest-dr-venom-kurozumi, but it results in an error when executing the preset I made. Could someone please let me know where I was wrong?

Here is the preset I tried to make:

shaders = “15”
shader0 = “shaders_slang/ntsc/shaders/ntsc-adaptive/ntsc-pass1.slang”
filter_linear0 = “false”
wrap_mode0 = “clamp_to_border”
mipmap_input0 = “false”
alias0 = “”
float_framebuffer0 = “true”
srgb_framebuffer0 = “false”
scale_type_x0 = “source”
scale_x0 = “4.000000”
scale_type_y0 = “source”
scale_y0 = “1.000000”
shader1 = “shaders_slang/ntsc/shaders/ntsc-adaptive/ntsc-pass2.slang”
filter_linear1 = “true”
wrap_mode1 = “clamp_to_border”
mipmap_input1 = “false”
alias1 = “”
float_framebuffer1 = “false”
srgb_framebuffer1 = “false”
scale_type_x1 = “source”
scale_x1 = “0.500000”
scale_type_y1 = “source”
scale_y1 = “1.000000”
shader2 = “shaders_slang/crt/shaders/guest/advanced/custom-fast-sharpen.slang”
wrap_mode2 = “clamp_to_border”
mipmap_input2 = “false”
alias2 = “”
float_framebuffer2 = “false”
srgb_framebuffer2 = “false”
scale_type_x2 = “source”
scale_x2 = “1.000000”
scale_type_y2 = “source”
scale_y2 = “1.000000”
shader3 = “shaders_slang/misc/image-adjustment.slang”
filter_linear3 = “true”
wrap_mode3 = “clamp_to_border”
mipmap_input3 = “false”
alias3 = “”
float_framebuffer3 = “false”
srgb_framebuffer3 = “false”
scale_type_x3 = “source”
scale_x3 = “1.000000”
scale_type_y3 = “source”
scale_y3 = “1.000000”
shader4 = “shaders_slang/crt/shaders/guest/lut/lut.slang”
filter_linear4 = “false”
wrap_mode4 = “clamp_to_border”
mipmap_input4 = “false”
alias4 = “”
float_framebuffer4 = “false”
srgb_framebuffer4 = “false”
scale_type_x4 = “source”
scale_x4 = “1.000000”
scale_type_y4 = “source”
scale_y4 = “1.000000”
shader5 = “shaders_slang/crt/shaders/guest/color-profiles.slang”
filter_linear5 = “true”
wrap_mode5 = “clamp_to_border”
mipmap_input5 = “false”
alias5 = “”
float_framebuffer5 = “false”
srgb_framebuffer5 = “false”
scale_type_x5 = “source”
scale_x = “1.000000”
scale_type_y5 = “source”
scale_y5 = “1.000000”
shader6 = “shaders_slang/crt/shaders/guest/d65-d50.slang”
filter_linear6 = “true”
wrap_mode6 = “clamp_to_border”
mipmap_input6 = “false”
alias6 = “WhitePointPass”
float_framebuffer6 = “false”
srgb_framebuffer6 = “false”
scale_type_x6 = “source”
scale_x6 = “1.000000”
scale_type_y6 = “source”
scale_y6 = “1.000000”
shader7 = “shaders_slang/crt/shaders/guest/afterglow.slang”
filter_linear7 = “true”
wrap_mode7 = “clamp_to_border”
mipmap_input7 = “false”
alias7 = “AfterglowPass”
float_framebuffer7 = “false”
srgb_framebuffer7 = “false”
scale_type_x7 = “source”
scale_x7 = “1.000000”
scale_type_y7 = “source”
scale_y7 = “1.000000”
shader8 = “shaders_slang/crt/shaders/guest/avg-lum.slang”
filter_linear8 = “true”
wrap_mode8 = “clamp_to_border”
mipmap_input8 = “true”
alias8 = “AvgLumPass”
float_framebuffer8 = “true”
srgb_framebuffer8 = “false”
scale_type_x8 = “source”
scale_x8 = “1.000000”
scale_type_y8 = “source”
scale_y8 = “1.000000”
shader9 = “shaders_slang/crt/shaders/guest/linearize.slang”
filter_linear9 = “true”
wrap_mode9 = “clamp_to_border”
mipmap_input9 = “false”
alias9 = “LinearizePass”
float_framebuffer9 = “true”
srgb_framebuffer9 = “false”
scale_type_x9 = “source”
scale_x9 = “1.000000”
scale_type_y9 = “source”
scale_y9 = “1.000000”
shader10 = “shaders_slang/crt/shaders/guest/blur_horiz.slang”
filter_linear10 = “true”
wrap_mode10 = “clamp_to_border”
mipmap_input10 = “false”
alias10 = “”
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/crt/shaders/guest/blur_vert.slang”
filter_linear11 = “true”
wrap_mode11 = “clamp_to_border”
mipmap_input11 = “false”
alias11 = “GlowPass”
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/crt/shaders/guest/linearize_scanlines.slang”
filter_linear12 = “true”
wrap_mode12 = “clamp_to_border”
mipmap_input12 = “false”
alias12 = “”
float_framebuffer12 = “true”
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/crt-guest-dr-venom.slang”
filter_linear13 = “true”
wrap_mode13 = “clamp_to_border”
mipmap_input13 = “false”
alias13 = “”
float_framebuffer13 = “false”
srgb_framebuffer13 = “false”
scale_type_x13 = “viewport”
scale_x13 = “1.000000”
scale_type_y13 = “viewport”
scale_y13 = “1.000000”
CP = “2.000000”
PR = “0.150000”
PG = “0.150000”
PB = “0.150000”
GLOW_FALLOFF_H = “0.170000”
GLOW_FALLOFF_V = “0.170000”
brightboost = “1.500000”
gsl = “1.000000”
scanline1 = “12.000000”
beam_min = “1.900000”
beam_max = “1.599999”
beam_size = “0.650000”
s_sharp = “0.050000”
glow = “0.000000”
shadowMask = “5.000000”
vertmask = “0.080000”
mcut = “0.200000”
maskDark = “0.850000”
CGWG = “0.000000”
textures = “SamplerLUT1;SamplerLUT2;SamplerLUT3”
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”

2 Likes

The First Colossus for the 1st of Jan 2022 (Using my new tweaked ReShade VHS preset) :

Raw screenshot for comparison :

And a very happy New Year to everybody here!

8 Likes

Some hard scanline pr0n :grin:

5 Likes

Wow, I really love what this does to the 3D games you’ve shown it with :star_struck:

Where can I take a look at this preset? :slight_smile:

3 Likes

Thanks. HERE - https://drive.google.com/file/d/1Bv8IC93W4W5A4ViMUv_FUnzjy4PBt0bI/view

This was made on a 1080p monitor & may not be that good on other resolutions.

EDIT - The one’s labeled 1440 are for 4:3 content & the one’s labeled 1920 are for 16:9 content!

3 Likes

6 Likes

3 Likes

https://forums.libretro.com/uploads/default/original/3X/8/7/8700c82506082ff7e401419d0009bdf95a915a0b.png

Slot Mask?

It reminds me of some JVC CRT Screenshots I’ve recently come across. Love the saturation. Seems pretty authentic to me. Does this preset have a name?

1 Like

It’s Lottes Mask 1 tweaked to work with CGWG mask instead of RGB stripes, uploaded here

5 Likes

So lottes mask 1 in magenta and green, instead of RGB.

2 Likes

Yes that is correct. Very simple tweak, really. Instead of using 3 of your pixel to form an RGB pixel it uses 2 pixels without any subpixel artifacts.

5 Likes

Something that would look (a bit) like my old 1084s

5 Likes

Very impressed with HDR in Retroarch, this is with mask strength at full and BFI and it’s still plenty bright!

4 Likes

something I have issues with is the size of the mask. It’s too small on 1440p and if you double the size in the setting is just way too big! I’ve fiddled a little, any idea to to make it 1.5 times as big?

Could probably do some retrofitting of more guest.r mask code, as it’s part of the way there anyway

Open the shader .glsl file with an editor and find these lines of code

{
		float line = maskLight;
		float odd  = 0.0;

		if (fract(pos.x/4.0) < 0.5)
			odd = 1.0;
		if (fract((pos.y + odd)/2.0) < 0.5)
			line = maskDark;

replace

pos.x/4.0

with

pos.x/6.0

try replacing fract (pos.y + odd)/2.0 with 3.0 too

That’s good as long as you scale 6x

That last mask looks pretty convincing at 1080p in reality.

1 Like

To everyone that used or is using my last shader preset, there’s been a small update to my last shader post which you can find here. There was a problem where the afterglow wasn’t working as intended which I had discussed about here with @guest.r, that issue has now been fixed with his latest shader update so please update them.

@HyperspaceMadness when you see this post please update your mega bezel project with my updated presets when you get a chance.

4 Likes

Did you add the custom grade to your preset chain? Since the Mega Bezel already has grade I wonder how HSM will handle this. :thinking:

2 Likes