New sonkun crt guest advanced presets thread

That’s interesting, as you’ve seen with the presets and recently with the composite preset in this latest update I’ve gave them all a certain sharpness. I’ve never used those sharpness values you mentioned so I’m curious to see what it looks like, I definitely see more softness in that pic. If you don’t mind posting a pic with those values on one of the rgb presets that would be nice until I get home later to try it out.

The image above is an actual photo of a CRT, here’s a couple of screenshot, first is my preset, second is yours RGB neutral:

I did photos too, but I’m not good at that, and compression kills differences. First mine, second yours.

The settings I’m using (I think I’ll reduce halation to -0,10):

#reference ":/shaders/shaders_slang/crt/crt-guest-advanced.slangp"
WP = "-40.000000"
glow = "0.200000"
bloom = "-0.600000"
halation = "-0.200000"
h_sharp = "8.000000"
s_sharp = "0.600000"
shadowMask = "10.000000"
maskstr = "1.000000"
slotmask = "1.000000"
slotmask1 = "1.000000"
slotwidth = "4.000000"
double_slot = "2.000000"
smoothmask = "1.000000"
post_br = "1.200000"
2 Likes

Your pic is the second pic I’ve seen today with that overall “illuminating” glow all around the image, I use to use halation but took it off cause I thought the image was already extremely bright by standard shader standards. I’ll test your preset out later, if I could find a way to increase the glow/halation without it ruining the mask in bright pixels I may be on to something. I know guest recently added that “smooth masks on bright pixels” feature, maybe I can come up with something using that.

You’re using the 4k version in those pics?

1440p, that’s my monitor resolution.

Yeah halation is a little too high, but it helps me in raising brightness without the swelling of the white pixels of the post brightness. I have to say that in motion it’s not that visibile, but I think I’ll raise bloom to -0,80, so I can remove (or lower) both halation and post brightness. Finding a nice balance within those three parameters (bloom, halation and post brightness) is kinda tricky, at least I’ve found my sweet spot for glow (0,20).

Glow and halation have some sort of influence on sharpness too, so it’s like a circle, you touch one thing and everything else changes. Anyway, I’m pretty happy with the sharpness values, but i want to check for some other CRT photos to find the right aspect.

1 Like

Ah ok. Yeah I think anything above 10 in halation is pushing it and yes -0.80 in bloom somehow became a sweet spot for me, plus with the bloom distribution to spread it even more. I didn’t realize until guest posted some settings the other day with the glow sigma (both horizontal and vertical) turned down and how much sharper the image became that’s where I got the idea to adopt into these latest shader packs.

It’s like you said though if you change one setting then that effects something else then you’re off to tweak something else until you get that all around sweet spot. I’ll start playing around more with glow/halation though, on images it gives it that “analog” kind of look, looks more crt-ish which I like, I just need it to remain that way in actual use as well.

1 Like

nope still don’t know why

Hi there. What older versions of the composite preset do you recommend? I would like that my presets for 8-16 bits and psx are a more blurry than the current composite preset. More like they used to be with a bit of deconvergence maybe. Do you have a final version of your presets before they turned “hd slot mask” and became more sharp?

1 Like

I never keep older presets. If you want it blurrier though simply go to Subtractive Sharpness and press start on that and that should do the trick.

I’m not sure when or if I’ll ever have a final preset lol, I’m always removing or adding something back in. Like now I’m planning on adding halation back into my presets, I previously took it out but now I’m liking how it looks again

1 Like

Been working on some new settings:

Composite:

RGB:

Composite preset:

shaders = "10"
shader0 = "shaders_slang/crt/shaders/tvout-tweaks.slang"
filter_linear0 = "true"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = ""
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/mame_hlsl/shaders/old/shaders/mame_hlsl/shaders/mame_ntsc.slang"
filter_linear1 = "true"
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/shaders/guest/hd/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/shaders/guest/advanced/grade/pre-shaders-afterglow-grade.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/shaders/guest/hd/linearize-hd.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = "LinearizePass"
float_framebuffer4 = "true"
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/hd/crt-guest-advanced-hd-pass1.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = "Pass1"
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "viewport"
scale_x5 = "1.000000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/guest/hd/bloom_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/shaders/guest/hd/bloom_vertical.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "BloomPass"
float_framebuffer7 = "true"
srgb_framebuffer7 = "false"
scale_type_x7 = "source"
scale_x7 = "1.000000"
scale_type_y7 = "absolute"
scale_y7 = "600"
shader8 = "shaders_slang/crt/shaders/guest/hd/crt-guest-advanced-hd-pass2.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "true"
srgb_framebuffer8 = "false"
scale_type_x8 = "viewport"
scale_x8 = "1.000000"
scale_type_y8 = "viewport"
scale_y8 = "1.000000"
shader9 = "shaders_slang/crt/shaders/guest/hd/deconvergence-hd.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = ""
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
scale_type_x9 = "viewport"
scale_x9 = "1.000000"
scale_type_y9 = "viewport"
scale_y9 = "1.000000"
TVOUT_COMPOSITE_CONNECTION = "1.000000"
TVOUT_RESOLUTION_Y = "1024.000000"
TVOUT_RESOLUTION_I = "256.000000"
TVOUT_RESOLUTION_Q = "121.599998"
ntscsignal = "1.000000"
avalue = "0.000000"
bvalue = "0.000000"
ccvalue = "5.994998"
scantime = "28.600300"
notchhalfwidth = "0.000000"
yfreqresponse = "4.599995"
ifreqresponse = "1.750000"
qfreqresponse = "1.450000"
g_crtgamut = "0.000000"
g_vignette = "0.000000"
g_cntrst = "-0.500000"
g_sat = "-0.030000"
g_lift = "-0.030000"
S_SHARP = "0.500000"
HSHARP = "0.000000"
spike = "1.500000"
warpX = "0.050000"
warpY = "0.070000"
csize = "0.035000"
glow = "0.120000"
bloom = "-0.800000"
bloom_dist = "0.400000"
halation = "-0.100000"
gamma_c = "1.250000"
brightboost = "1.000000"
brightboost1 = "1.200000"
scanline1 = "4.000000"
beam_min = "1.799999"
beam_max = "0.950000"
beam_size = "0.000000"
scan_falloff = "0.650000"
shadowMask = "6.000000"
maskstr = "1.000000"
maskboost = "1.200000"
slotmask = "1.000000"
slotmask1 = "1.000000"
slotwidth = "3.000000"
double_slot = "2.000000"
mclip = "0.400000"
smoothmask = "1.000000"
deconrr = "1.000000"
deconrb = "-1.000000"
deconrry = "1.000000"
deconrby = "-1.000000"
post_br = "1.150000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"

RGB preset:

shaders = "10"
shader0 = "shaders_slang/crt/shaders/guest/hd/stock.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 = "1.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"
shader1 = "shaders_slang/crt/shaders/guest/hd/stock.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/shaders/guest/hd/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/shaders/guest/advanced/grade/pre-shaders-afterglow-grade.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/shaders/guest/hd/linearize-hd.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = "LinearizePass"
float_framebuffer4 = "true"
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/hd/crt-guest-advanced-hd-pass1.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = "Pass1"
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "viewport"
scale_x5 = "1.000000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "shaders_slang/crt/shaders/guest/hd/bloom_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/shaders/guest/hd/bloom_vertical.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "BloomPass"
float_framebuffer7 = "true"
srgb_framebuffer7 = "false"
scale_type_x7 = "source"
scale_x7 = "1.000000"
scale_type_y7 = "absolute"
scale_y7 = "600"
shader8 = "shaders_slang/crt/shaders/guest/hd/crt-guest-advanced-hd-pass2.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "true"
srgb_framebuffer8 = "false"
scale_type_x8 = "viewport"
scale_x8 = "1.000000"
scale_type_y8 = "viewport"
scale_y8 = "1.000000"
shader9 = "shaders_slang/crt/shaders/guest/hd/deconvergence-hd.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = ""
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
scale_type_x9 = "viewport"
scale_x9 = "1.000000"
scale_type_y9 = "viewport"
scale_y9 = "1.000000"
g_signal_type = "0.000000"
g_crtgamut = "0.000000"
g_vignette = "0.000000"
g_cntrst = "-0.550000"
g_sat = "-0.030000"
g_lift = "-0.030000"
S_SHARP = "2.000000"
HSHARP = "0.000000"
spike = "1.500000"
SIGMA_HB = "0.250000"
SIGMA_VB = "0.250000"
warpX = "0.050000"
warpY = "0.070000"
csize = "0.035000"
glow = "0.120000"
bloom = "-0.800000"
bloom_dist = "0.400000"
halation = "-0.100000"
gamma_c = "1.250000"
brightboost = "1.000000"
brightboost1 = "1.200000"
scanline1 = "4.000000"
beam_min = "1.799999"
beam_max = "0.950000"
beam_size = "0.000000"
scan_falloff = "0.650000"
shadowMask = "6.000000"
maskstr = "1.000000"
maskboost = "1.400000"
slotmask = "1.000000"
slotmask1 = "1.000000"
slotwidth = "3.000000"
double_slot = "2.000000"
mclip = "0.400000"
smoothmask = "1.000000"
deconrry = "1.000000"
deconrby = "-1.000000"
post_br = "1.150000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"

@Fab I added halation back in and played around with sharpness for the RGB preset, try it out and see what you think.

@SuperieurUltra see how you like that composite preset, I blurred it up once again this time as blurry as the guest ntsc or royale ntsc composite default shader.

4 Likes

It looks nice, maybe still a little to sharp for my liking (maybe it’s the 0,25 sigma, I don’t touch it), but seems on point.

About halation/glow/bloom, I think the point stands in which kind of experience we would like to convey. For a CRT experience I think we should go a little overboard.

The higher the bloom, the lesser is the impact of glow. Tinkering with the settings, it seems that the correct ratio for glow being glowy is something like half the bloom. So, -0,60 bloom, 0,30 glow. It seems a lot, but in motion it’s not that visible. If we want just to add a little touch, 0,20 is the limit, whatever the bloom.

Yesterday I toyed a little with halation. Negative and positive values are almost indistinguable at low values (0.10), but different as you get higher. Negative is more “in the pixel”, it seems to add white to colours; positive is more “glowy/halo/aura” like, adding an halo (ah!) “out of the pixel”, and without affecting colours. I’m thinking I should revert to that, regarding that “CRT experience” I just mentioned.

As for values: -0,20 maybe affects too much colours, so -0,10 or -0,15 should be the ideal; +0,20 could be good, instead, but a little eye straining for very white scenes, and could kill details (like the moon’s in the next screenshot). So maybe +0,10, again, could be the ideal.

Here’s a little experiment going overboard for “CRT experience” (first image is mine, second is with yours new settings).

#reference ":/shaders/shaders_slang/crt/crt-guest-advanced.slangp"
WP = "-40.000000"
vigstr = "0.400000"
glow = "0.300000"
bloom = "-0.600000"
halation = "0.100000"
h_sharp = "4.000001"
s_sharp = "0.400000"
warpX = "0.050000"
warpY = "0.070000"
csize = "0.010000"
bsize1 = "0.100000"
shadowMask = "10.000000"
maskstr = "1.000000"
slotmask = "1.000000"
slotmask1 = "1.000000"
slotwidth = "4.000000"
double_slot = "2.000000"
smoothmask = "1.000000"
post_br = "1.200000"
2 Likes

I see the look you’re going for there, I tried your settings out plus put the glow sigma back to normal and man I almost forgot how glowy things can get lol, not sure I want to go overboard like that plus I like the slightly sharper look I get from lowering the glow sigma. I’ll continue tweaking around with things though.

1 Like

Yeah as I said those settings are a little on the “too much” side, but still it would be nice to check them with a real CRT. For any other use a maximum of 0,20 for glow should be well enough, even less. Keep us updated!

2 Likes

Taking photos from the real thing presents it own challenges, I guess this is in the ballpark of what I’m seeing.

5 Likes

Take a look at this video. It really demonstrates good old school CRT photography and videography techniques.

You can also try Manual/Pro mode on your Camera/Camera App, ISO 100 or 200, Shutter Speed 1/60, WB 5000 or 6500 Auto or Manual Focus in a completely dark room, with a tripod or at least some type of physical stabilization.

1 Like

I know that, but e.g the white balance doesn’t quite work as you’d expect with the OpenCamera app I’m using. I need to pump it up a lot to get the colors on the phone somewhat looking like the CRT, but there’s no way the actual WB is like over 9000. Other apps had their own quirks, and no, I’m not gonna put much more effort in it or get a tripod for the ocassional shot :grinning: The phone is rather old by today’s standards, the original app/ camera api 1 isn’t even able to adjust the necessary settings.

1 Like

Don’t worry about the number, focus on how it looks.

I like that sharp, crisp RGB Mario, above… even if it’s not authentically blurry, it gives the nostalgia feel, but also gives you a nice, modern, easy to look at, playable feel.

2 Likes

That’s exactly the look I’m trying to give, mixing old school with a modern twist, you got it. That’s more or less how the next pack is going to be. Will probably lower contrast to 55 or 50 and play with scanline settings a bit more.

2 Likes

That’s what I go for when I set up or tweak shaders for my personal use. I think most people would not like it, but that’s how I like mine. I think sometimes people are having a contest for what looks the most authentic, but I prefer something nostalgic, but playable. Everybody has their own preferences.

2 Likes

I say if you’re going for authentic then just get a crt, like you I just want a nostalgic look, I think I’m doing alright so far with that look.

4 Likes