New CRT shader from Guest + CRT Guest Advanced updates

@guest.r

Would it be alright if I added the latest version of crt-guest-advanced-ntsc-decoupled to the shader repository in it’s own ntsc section subfolder so it doesn’t impact crt-guest-advanced?

I had been intending to wait until crt-guest-advanced itself was updated on the repository, but there is an appetite over in the Megatron thread to get to work on more NTSC presets for Megatron v2.

(Also, do you want me to name it differently and make a separate thread so that it is clearer that i am the one maintaining it? I want to strike the right balance between making sure that it remains absolutely clear that the grand majority is your work, but not have everyone coming to you with support requests that aren’t necessarily applicable to crt-guest-advanced itself.)

@guest.r It’s incredible the possibilities your shader offers when you take the time to adjust the parameters.

In my old presets, when I tried to use deconvergence, the loss of brightness in the vivid colors forced me back to the default preset.

But now, with all the tips I mentioned earlier and since I had some free time. I was able to finish my preset, including deconvergence!

I also tried your PAL shader, the default preset is so good that I only changed one setting in SCART mode and nothing else :eyes:. This is my default for my pal folder.

5 Likes

I’ve improved my preset so that users with lower resolutions get results almost identical to my original preset in terms of brightness and color, while using a slot mask.

I’ve also tweaked the deconvergence by boosting the reds more than the rest to cheat in the center of the scanline relative to the LUT I’m using.

Mask 2.0 / Size 2.0

Mask 10.0 / Size 2.0 / Mask Zoom -4.0

Preset for BlastEm :video_game:

shaders = "18"
shader0 = "shaders_slang/crt/shaders/guest/advanced/stock.slang"
alias0 = ""
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
filter_linear0 = "false"
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"
shader1 = "shaders_slang/crt/shaders/guest/advanced/stock.slang"
alias1 = "StockPass"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
filter_linear1 = "false"
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_slang/crt/shaders/guest/advanced/afterglow0.slang"
alias2 = "AfterglowPass"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
filter_linear2 = "true"
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/crt/shaders/guest/advanced/pre-shaders-afterglow.slang"
alias3 = "PrePass0"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
filter_linear3 = "true"
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/advanced/ntsc/ntsc-pass1.slang"
alias4 = "NPass1"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
filter_linear4 = "false"
float_framebuffer4 = "true"
srgb_framebuffer4 = "false"
scale_type_x4 = "source"
scale_x4 = "4.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass2.slang"
alias5 = ""
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
filter_linear5 = "true"
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "source"
scale_x5 = "0.500000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass3.slang"
alias6 = ""
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
filter_linear6 = "true"
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/advanced/custom-fast-sharpen.slang"
alias7 = "NtscPass"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
filter_linear7 = "true"
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/advanced/stock.slang"
alias8 = "PrePass"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "true"
filter_linear8 = "true"
float_framebuffer8 = "false"
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/advanced/avg-lum-ntsc.slang"
alias9 = "AvgLumPass"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "true"
filter_linear9 = "true"
float_framebuffer9 = "false"
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/advanced/linearize-ntsc.slang"
alias10 = "LinearizePass"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
filter_linear10 = "true"
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/advanced/crt-guest-advanced-ntsc-pass1.slang"
alias11 = "Pass1"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
filter_linear11 = "true"
float_framebuffer11 = "true"
srgb_framebuffer11 = "false"
scale_type_x11 = "viewport"
scale_x11 = "1.000000"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/crt/shaders/guest/hd/gaussian_horizontal.slang"
alias12 = ""
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "false"
filter_linear12 = "true"
float_framebuffer12 = "true"
srgb_framebuffer12 = "false"
scale_type_x12 = "absolute"
scale_x12 = "800"
scale_type_y12 = "source"
scale_y12 = "1.000000"
shader13 = "shaders_slang/crt/shaders/guest/advanced/gaussian_vertical.slang"
alias13 = "GlowPass"
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "false"
filter_linear13 = "true"
float_framebuffer13 = "true"
srgb_framebuffer13 = "false"
scale_type_x13 = "absolute"
scale_x13 = "800"
scale_type_y13 = "absolute"
scale_y13 = "600"
shader14 = "shaders_slang/crt/shaders/guest/hd/bloom_horizontal.slang"
alias14 = ""
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
filter_linear14 = "true"
float_framebuffer14 = "true"
srgb_framebuffer14 = "false"
scale_type_x14 = "absolute"
scale_x14 = "800"
scale_type_y14 = "absolute"
scale_y14 = "600"
shader15 = "shaders_slang/crt/shaders/guest/advanced/bloom_vertical.slang"
alias15 = "BloomPass"
wrap_mode15 = "clamp_to_border"
mipmap_input15 = "false"
filter_linear15 = "true"
float_framebuffer15 = "true"
srgb_framebuffer15 = "false"
scale_type_x15 = "absolute"
scale_x15 = "800"
scale_type_y15 = "absolute"
scale_y15 = "600"
shader16 = "shaders_slang/crt/shaders/guest/advanced/crt-guest-advanced-ntsc-pass2.slang"
alias16 = ""
wrap_mode16 = "clamp_to_border"
mipmap_input16 = "false"
filter_linear16 = "true"
float_framebuffer16 = "true"
srgb_framebuffer16 = "false"
scale_type_x16 = "viewport"
scale_x16 = "1.000000"
scale_type_y16 = "viewport"
scale_y16 = "1.000000"
shader17 = "shaders_slang/crt/shaders/guest/advanced/deconvergence-ntsc.slang"
alias17 = ""
wrap_mode17 = "clamp_to_border"
mipmap_input17 = "false"
filter_linear17 = "true"
float_framebuffer17 = "false"
srgb_framebuffer17 = "false"
scale_type_x17 = "viewport"
scale_x17 = "1.000000"
scale_type_y17 = "viewport"
scale_y17 = "1.000000"
esrc = "2.000000"
bth = "1.000000"
PR = "0.000000"
PG = "0.000000"
PB = "0.000000"
AS = "0.250000"
agsat = "1.000000"
CP = "2.000000"
TNTC = "4.000000"
WP = "-30.000000"
cust_artifacting = "0.000000"
cust_fringing = "0.000000"
ntsc_scale = "2.500000"
nscale = "0.575000"
ntsc_taps = "6.000000"
ntsc_ring = "1.000000"
ntsc_sharp = "10.000000"
ntsc_shape = "0.500000"
GAMMA_INPUT = "2.400000"
gamma_out = "2.200000"
interm = "0.000000"
HSHARPNESS = "1.000000"
SIGMA_HOR = "0.525000"
S_SHARP = "0.000000"
HSHARP = "0.000000"
MAXS = "0.000000"
HARNG = "0.000000"
m_glow = "1.000000"
m_glow_cutoff = "0.000000"
m_glow_low = "0.500000"
m_glow_high = "7.000000"
m_glow_dist = "4.000000"
m_glow_mask = "0.000000"
SIGMA_H = "0.800000"
SIGMA_V = "0.600000"
SIZEHB = "1.000000"
SIGMA_HB = "0.350000"
SIZEVB = "1.000000"
SIGMA_VB = "0.400000"
halation = "0.100000"
hmask1 = "0.000000"
brightboost = "3.000000"
brightboost1 = "3.000000"
gsl = "2.000000"
scanline1 = "20.000000"
scanline2 = "20.000000"
beam_min = "0.300000"
beam_size = "0.000000"
scans = "0.000000"
scan_falloff = "2.000000"
scangamma = "2.200000"
shadowMask = "10.000000"
maskstr = "1.000000"
mcut = "1.000000"
masksize = "2.000000"
mask_zoom = "-4.000000"
maskDark = "0.000000"
maskLight = "1.000000"
mask_gamma = "5.000000"
slotmask = "1.000000"
slotmask1 = "1.000000"
pr_scan = "0.000000"
deconrr = "1.750000"
deconrb = "-0.250000"
deconrry = "1.750000"
deconrby = "-0.250000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_mipmap = "false"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT2_mipmap = "false"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT3_mipmap = "false"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT4_mipmap = "false"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
6 Likes

Hey, that are some really good looking presets, you should definitelly save them as a part of a collection or similar. :smiley:

Sometimes I also like to mention that guest-advanced shaders are quite compatible with pre-scalers, there are also some performance boosting mechanisms for the ntsc shader part.

4 Likes

Thanks! Yes, that would be a good idea if I weren’t so lazy haha. :older_man:

Yeah I remember you mentioning it for a PSP preset. It’s worth checking out. :100:

1 Like

You know, I was thinking the same thing. Especially when @ProfessorBraun mentioned this:

If you’re gearing towards, other users, then where are other users supposed to get these presets from?

2 Likes

Ah, I see how I worded my sentence. I had a preset with mask 2 without magic glow high strength and different settings.

Others masks with negative zoom was not looking the same.

Now my preset with mask 2 is improved in many ways and mask (10-12) with slotmask/negative zoom looks close to my preset with mask 2 (settings are the same). :v:

2 Likes

May I have your preset, ProfessorB? I’m not at skilled at entering your values or anyone else into RA. I’m sorry for this.

3 Likes

Hey sure! :smiley:

Open your RetroArch folder, then the shaders folder.

Inside, create a text document and copy the preset I posted earlier.

Then rename this text document to “test.slangp” without the quotes.

3 Likes

Thanks, I will try to do replicate that when I’m off from work. I’m trying to get better at that so I can take down y’all’s values.

2 Likes