New CRT shader from Guest + CRT Guest Advanced updates

Good evening Guest, I apologize in advance but your shader is so full of possibilities that it would be a shame not to know and use it, and in this sense I need to know please: the values ​​of “Smart edges effect strength limit” and “Smart edges smoothing threshold” what exactly do they do and, if I increase or decrease these values, what impact do they have on the image? Thank you very much for your patience with me.

2 Likes

Hey!

These values are here for fine tunning the “Smart Edges Effect Strength” effect. Without it enabled (means the parameter value is greater than 0.0) they have no impact on the image.

“Smart edges effect strength limit”

It’s the maximum sharpness of the interpolation edges, regardless of the strength of the effect. It’s here to produce an overall more balanced appearance. More strength makes more edges sharper though.

“Smart edges smoothing threshold”

Not all edges get sharpened, some remain smoother. If you want more edges to get sharper then lower the value, otherwise you can increase it.

Ofc. it’s quite simple to test these features, i guess these guidelines were helpful enough.

7 Likes

Good morning and thank you very much Guest, you are always very kind, have a nice day.

3 Likes

Good evening everyone. I was asking for the help of the community: I would be thrilled to see your work and know your settings regarding the guest advance shader, to be able to compare them with mine, learn new things and be able to try them myself. I have a 1080p monitor, and I’m aware that apart from the slotmask I can’t expect too much from it. Thanks to anyone who will contribute to my research. P.S. : I’m new on the forum, I don’t know if my request is right to make it here or create a separate thread, let me know Guest, if anything I delete the message and created a dedicated thread.

1 Like

You can get excellent results using Trinitron (Aperture Grill) masks at 1080p.

1 Like

Hi Cyber, by Aperture Grill do you mean the mask 6 ?

1 Like

You have it backwards, the slotmask benefits the most from higher resolutions if you want somewhat realistic results (not to mention the loss of brightness you’ll likely need to compensate for). At 1080p, you’ll probably want to stick to aperture grill masks. These are 0, 5-13. You can also try the “mask shift” feature which allow alternative layouts.

3 Likes

Forgive me, if I misunderstood all Trinitron masks are aperture grill ?

1 Like

Yes, “Trinitron” is Sony’s marketing brand name for their Aperture Grill CRT Masks.

3 Likes

@ROBMARK85

Ciao!

This is my current preset with Guest Advanced, I have a ~24’’ 1080p monitor that I keep relatively close. mask is not to strong and I don’t go for an accurate look but something that looks/feels good to me while playing. Due to a little use of the noise it looks better in “motion” but here are some screens:

#reference "shaders_slang/crt/crt-guest-advanced.slangp"
AS = "0.300000"
sat = "0.450000"
TNTC = "1.000000"
CS = "1.000000"
wp_saturation = "0.900000"
pre_bb = "1.030000"
contr = "0.100000"
vigstr = "0.250000"
vigdef = "1.000001"
inter = "300.000000"
interm = "4.000000"
glow = "0.030000"
bloom = "0.200000"
mask_bloom = "0.250000"
bloom_dist = "0.250000"
halation = "0.100000"
scanline1 = "7.000000"
scanline2 = "9.000000"
scans = "0.600000"
h_sharp = "2.200001"
s_sharp = "0.400000"
warpX = "0.030000"
warpY = "0.040000"
csize = "0.050000"
bsize1 = "0.150000"
shadowMask = "9.000000"
maskstr = "0.600000"
slotmask = "0.250000"
slotmask1 = "0.250000"
addnoised = "0.220000"
noiseresd = "1.000000"
post_br = "1.050000"

I also use it for “tate” arcade games with just few changes

TATE = "1.000000"
shadowMask = "2.000000"
12 Likes

Fantastic, from the pictures it looks exactly what I’m looking for! Thank you very much, as soon as I get home from work I’ll try it right away. Please teach me one thing: I open Wordpad, grab and paste the text, and save it as .slangp? And then the file created where should I put it? Thank you

3 Likes

Nice looking presets!

You can temporarily disable noise before taking screenshots and see if it looks closer to what you see when things are in motion with noise on.

4 Likes

@ROBMARK85 Glad you liked it! yes that’s correct save it as .slangp and place it in the main shaders folder. than if you want the tate version create another one and use the reference to point at the first file.

in my case I have

1 - CRT GUEST ADV.slangp

and

1 - CRT GUEST ADV TATE.slangp

that looks like this:

#reference "1 - CRT GUEST ADV.slangp"
TATE = "1.000000"
shadowMask = "2.000000"
3 Likes

Thank you very much, it’s really a nice preset and I’m finding it good when I’m looking for a more retro style, now I’m fine. Thanks a lot: D

2 Likes

Hi Guest, one question: can I load the Super XBR shader before your CRT Advance Guest, or at your CRT Advance HD Guest? I tried it with the HSM Potato Super XBR, but I wanted to try it directly with your raw shader to lighten the CPU a bit with the emulation of some systems. I liked the result when I was looking for a more modern style.

1 Like

You can use the new append or prepend preset features from the RA shader menu to combine presets. Although you might be better off with replacing a stock pass with plain xBR and set this pass scaling to 3.0 (very nice common ground). You can use the downsampling features of the crt shader to gain a smoother appearance.

Example preset:

shaders = "12"
shader0 = "shaders_slang/xbr/shaders/xbr-lv2-standalone.slang"
filter_linear0 = "false"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "3.000000"
scale_type_y0 = "source"
scale_y0 = "3.000000"
shader1 = "shaders_slang/blurs/sharpsmoother.slang"
filter_linear1 = "false"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = "StockPass"
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-guest-advanced/shaders/guest/advanced/afterglow0.slang"
filter_linear2 = "false"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = "AfterglowPass"
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-guest-advanced/shaders/guest/advanced/pre-shaders-afterglow.slang"
filter_linear3 = "false"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "true"
alias3 = "PrePass"
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-guest-advanced/shaders/guest/advanced/avg-lum.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "true"
alias4 = "AvgLumPass"
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-guest-advanced/shaders/guest/advanced/linearize.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = "LinearizePass"
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "source"
scale_x5 = "1.000000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt-guest-advanced/shaders/guest/advanced/gaussian_horizontal.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "true"
srgb_framebuffer6 = "false"
scale_type_x6 = "absolute"
scale_x6 = "800"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/crt-guest-advanced/shaders/guest/advanced/gaussian_vertical.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "GlowPass"
float_framebuffer7 = "true"
srgb_framebuffer7 = "false"
scale_type_x7 = "absolute"
scale_x7 = "800"
scale_type_y7 = "absolute"
scale_y7 = "600"
shader8 = "shaders_slang/crt-guest-advanced/shaders/guest/advanced/bloom_horizontal.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "true"
srgb_framebuffer8 = "false"
scale_type_x8 = "absolute"
scale_x8 = "800"
scale_type_y8 = "absolute"
scale_y8 = "600"
shader9 = "shaders_slang/crt-guest-advanced/shaders/guest/advanced/bloom_vertical.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = "BloomPass"
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-guest-advanced/shaders/guest/advanced/crt-guest-advanced.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = ""
float_framebuffer10 = "true"
srgb_framebuffer10 = "false"
scale_type_x10 = "viewport"
scale_x10 = "1.000000"
scale_type_y10 = "viewport"
scale_y10 = "1.000000"
shader11 = "shaders_slang/crt-guest-advanced/shaders/guest/advanced/deconvergence.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = ""
float_framebuffer11 = "false"
srgb_framebuffer11 = "false"
scale_type_x11 = "viewport"
scale_x11 = "1.000000"
scale_type_y11 = "viewport"
scale_y11 = "1.000000"
downsample_levelx = "1.000000"
downsample_levely = "1.000000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
SamplerLUT1 = "shaders_slang/crt-guest-advanced/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt-guest-advanced/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt-guest-advanced/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
SamplerLUT4 = "shaders_slang/crt-guest-advanced/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"

Screenie:

Adding Super xBR as with the Mega Bezel might require some fine tweaking of the preset’s scaling.

7 Likes

Hi Guest, meanwhile I don’t know how to thank you for your patience and your work. I understand that I may sound obnoxious with my constant questions and requests, but I promise you I’m almost there now thanks to your help and that of the community. I have a copy of the preset you sent me and thank you, but from what I’ve read, if I understand correctly, the super xbr does a better job of interpolation than the classic version in terms of less graphical distortion, and therefore barely available in the standard version of Retroarch I will use the new function to merge this shader with yours, and set the same parameters that I find inside the HSM Potato Super XBR GDV shader for the parameters related to the Super XBR and your CRT Guest, I believe and hope that this may be enough to obtain the same effect without the passages of the mega bezel (I prepare for all eventualities due to the performance of my PC, perhaps with more demanding emulations this trick is lighter). I’ll try the same thing with your NTSC Guest CRT. What do you think about it ? Heartfelt thanks indeed.

2 Likes

Allow me to make you a proposal: since the Super XBR GDV and Super XBR GDV NTSC presets are already present in the Mega Bezels, if you and Hyllian agree why don’t you include them in your package as alternative/combined presets? It would be great to have them outside of the Mega Bezels as well like for your CRT Presets. Mine is a suggestion and a desire, I’m finding myself too well with this combination.

1 Like

Just load the super-xbr preset. Then use the “append preset” functionality of the RA shader menu and load a crt preset. Works quite nice.

I mentioned that you might tweak some preset scaling properties with an editor if you desire.

It’s very simple now to use such combos nowdays, just takes some patience and practice in the beginning. :grin:

3 Likes

Heartfelt thanks Guest, I’ll do some field tests as soon as possible.

2 Likes