New CRT shader from Guest + CRT Guest Advanced updates

You mean mask 11 is size 1 for 4k? I think if I put size 1 the mask doesn’t show. I thought it was size 2 with of 8 height of 3… I think is size 2 or am I wrong?

2 Likes

The mask 11 definitelly shows with crt mask size of 1.0. It’s 4 px wide, for the info. If you want a low TVL mask with 4k it’s mask 6 with mask size 2.0 or mask 12.

2 Likes

Ok. Maybe I was doing something wrong with mask 11. I was puting it at size 2. Mask 12 is ok with size 1, if I put 2 it’s too big, that doesn’t happen with mask 11. And sorry for my ignorance. What is a low and High TVL? How do I know if my 14" Sanyo CRT is low or high TVL? Thanks for all your help…:grinning:

2 Likes

TVL is a specification of a CRT display, measuring it’s horizontal resolution. If you put same sized phosphors on a small crt display and a big crt display, more will fit in the big one, so the big one has a greater TVL rating. Your 14" display is probably lower TVL tier.

2 Likes

Ok. Thanks a lot. You are doing good Job with your shaders… I’m really happy with it… Keep it up. I just was doubting about other things that I’m a bit ignorant and I just want to learn… Thanks for your help and time :+1:t3::grin:

4 Likes

Another screenie…

still might fix some issues with mask brightness corrections later on.

10 Likes

New Release Version (2022-10-15-r1):

Notable changes:

  • some masks brightness loss is moderate, so the compensation got adjusted (8 and 11)
  • gamma correct parameter cleanup, parameter step adjustment

Download link:

https://mega.nz/file/FkADBSTa#jefjfIYyiI5Gsx_5KwKcoMr7rLHeF5uRvg_FMFnkW3M

13 Likes

I have a suggestion for a mask that will be pretty for 4k and maybe on lower resolutions.

It’s Red,Yellow,White,Cyan,Blue,Black or Blue,Cyan,White,Yellow,Red,Black (aperture style).

It can be mixed with slot mask settings, so you have 5 colors surrounded by black.

3 Likes

I want to try this mask.

2 Likes

New Release Version (2022-10-16-r1):

Notable changes:

  • a new 4k mask added (mask 13, RYWCBx)

Download link:

https://mega.nz/file/JxYywBQR#tuNpqZ4rqTj9EhEWKVPfmLFUt5-0VA8kmdwLrLwyePw

9 Likes

Just a quick test so you can see this mask. Thanks @guest.r .

SIZEHB = "1.000000"
SIGMA_HB = "15.000000"
SIZEVB = "1.000000"
SIGMA_VB = "15.000000"
bloom = "0.750000"
shadowMask = "13.000000"
maskstr = "1.000000"
mcut = "1.000000"
mask_gamma = "1.000000"
slotmask = "1.000000"
slotmask1 = "1.000000"
slotwidth = "6.000000"
double_slot = "2.000000"
mclip = "0.000000"
4 Likes

Looks like a very nice addition for 4k setups indeed.

And it’s an even sized mask, so it can be staggered nicely and even used with 1080p:

3 Likes

Looks good ! mask shift -1.0 works too on my side,how does it looks for you ?

1 Like

Hey this game looks interesting, which game is it?

2 Likes

This is Xexyz on Nes,good game.

3 Likes

Looks like there’s a brightness advantage with mask 13 stagger 3 compared to mask 6 stagger 1. (Both used for a VGA look in DOS games.)

(1440p)

Mask 6:

Mask 13:

2 Likes

The lazy preset post returns. Screenshots come later, elsewhere.

shaders = "18"
shader0 = "../shaders/shaders_slang/crt/shaders/guest/advanced/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/shaders_slang/crt/shaders/guest/advanced/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/shaders_slang/crt/shaders/guest/advanced/afterglow0.slang"
filter_linear2 = "true"
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/shaders_slang/crt/shaders/guest/advanced/pre-shaders-afterglow.slang"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = "PrePass0"
float_framebuffer3 = "false"
srgb_framebuffer3 = "false"
scale_type_x3 = "source"
scale_x3 = "1.000000"
scale_type_y3 = "source"
scale_y3 = "1.000000"
shader4 = "../shaders/shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass1.slang"
filter_linear4 = "false"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = "NPass1"
float_framebuffer4 = "true"
srgb_framebuffer4 = "false"
scale_type_x4 = "source"
scale_x4 = "4.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "../shaders/shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass2.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = ""
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
scale_type_x5 = "source"
scale_x5 = "0.500000"
scale_type_y5 = "source"
scale_y5 = "1.000000"
shader6 = "../shaders/shaders_slang/crt/shaders/guest/advanced/ntsc/ntsc-pass3.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
scale_type_x6 = "source"
scale_x6 = "1.000000"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "../shaders/shaders_slang/crt/shaders/guest/advanced/custom-fast-sharpen.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "NtscPass"
float_framebuffer7 = "false"
srgb_framebuffer7 = "false"
scale_type_x7 = "source"
scale_x7 = "1.000000"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "../shaders/shaders_slang/crt/shaders/guest/advanced/stock.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "true"
alias8 = "PrePass"
float_framebuffer8 = "false"
srgb_framebuffer8 = "false"
scale_type_x8 = "source"
scale_x8 = "1.000000"
scale_type_y8 = "source"
scale_y8 = "1.000000"
shader9 = "../shaders/shaders_slang/crt/shaders/guest/advanced/avg-lum-ntsc.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "true"
alias9 = "AvgLumPass"
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
scale_type_x9 = "source"
scale_x9 = "1.000000"
scale_type_y9 = "source"
scale_y9 = "1.000000"
shader10 = "../shaders/shaders_slang/crt/shaders/guest/advanced/linearize-ntsc.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = "LinearizePass"
float_framebuffer10 = "true"
srgb_framebuffer10 = "false"
scale_type_x10 = "source"
scale_x10 = "1.000000"
scale_type_y10 = "source"
scale_y10 = "1.000000"
shader11 = "../shaders/shaders_slang/crt/shaders/guest/advanced/crt-guest-advanced-ntsc-pass1.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = "Pass1"
float_framebuffer11 = "true"
srgb_framebuffer11 = "false"
scale_type_x11 = "viewport"
scale_x11 = "1.000000"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "../shaders/shaders_slang/crt/shaders/guest/advanced/gaussian_horizontal.slang"
filter_linear12 = "true"
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "false"
alias12 = ""
float_framebuffer12 = "true"
srgb_framebuffer12 = "false"
scale_type_x12 = "absolute"
scale_x12 = "640"
scale_type_y12 = "source"
scale_y12 = "1.000000"
shader13 = "../shaders/shaders_slang/crt/shaders/guest/advanced/gaussian_vertical.slang"
filter_linear13 = "true"
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "false"
alias13 = "GlowPass"
float_framebuffer13 = "true"
srgb_framebuffer13 = "false"
scale_type_x13 = "absolute"
scale_x13 = "640"
scale_type_y13 = "absolute"
scale_y13 = "480"
shader14 = "../shaders/shaders_slang/crt/shaders/guest/advanced/bloom_horizontal.slang"
filter_linear14 = "true"
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
alias14 = ""
float_framebuffer14 = "true"
srgb_framebuffer14 = "false"
scale_type_x14 = "absolute"
scale_x14 = "640"
scale_type_y14 = "absolute"
scale_y14 = "480"
shader15 = "../shaders/shaders_slang/crt/shaders/guest/advanced/bloom_vertical.slang"
filter_linear15 = "true"
wrap_mode15 = "clamp_to_border"
mipmap_input15 = "false"
alias15 = "BloomPass"
float_framebuffer15 = "true"
srgb_framebuffer15 = "false"
scale_type_x15 = "absolute"
scale_x15 = "640"
scale_type_y15 = "absolute"
scale_y15 = "480"
shader16 = "../shaders/shaders_slang/crt/shaders/guest/advanced/crt-guest-advanced-ntsc-pass2.slang"
filter_linear16 = "true"
wrap_mode16 = "clamp_to_border"
mipmap_input16 = "false"
alias16 = ""
float_framebuffer16 = "true"
srgb_framebuffer16 = "false"
scale_type_x16 = "viewport"
scale_x16 = "1.000000"
scale_type_y16 = "viewport"
scale_y16 = "1.000000"
shader17 = "../shaders/shaders_slang/crt/shaders/guest/advanced/deconvergence-ntsc.slang"
filter_linear17 = "true"
wrap_mode17 = "clamp_to_border"
mipmap_input17 = "false"
alias17 = ""
float_framebuffer17 = "false"
srgb_framebuffer17 = "false"
scale_type_x17 = "viewport"
scale_x17 = "1.000000"
scale_type_y17 = "viewport"
scale_y17 = "1.000000"
PR = "0.460000"
PG = "0.460000"
PB = "0.460000"
AS = "0.100000"
sat = "1.000000"
quality = "-1.000000"
ntsc_ring = "1.000000"
lsmooth = "0.600000"
interm = "0.000000"
iscan = "0.000000"
HSHARPNESS = "1.000000"
SIGMA_HOR = "0.550000"
S_SHARP = "1.100000"
HSHARP = "2.000000"
spike = "0.000000"
SIZEH = "50.000000"
SIGMA_H = "3.000000"
SIZEV = "50.000000"
SIGMA_V = "2.999999"
SIZEHB = "50.000000"
SIGMA_HB = "0.350000"
SIZEVB = "50.000000"
SIGMA_VB = "0.350000"
glow = "0.020000"
mask_bloom = "0.300000"
bloom_dist = "0.500000"
halation = "0.200000"
brightboost = "0.900000"
gsl = "2.000000"
scanline1 = "4.500000"
scanline2 = "10.000000"
beam_min = "0.800000"
beam_max = "1.499999"
beam_size = "0.000000"
scans = "0.150000"
scan_falloff = "2.000000"
shadowMask = "13.000000"
maskstr = "1.000000"
mcut = "1.000000"
maskboost = "1.649999"
mshift = "5.000000"
slotwidth = "6.000000"
gamma_out = "2.000000"
addnoised = "0.140000"
noisetype = "1.000000"
post_br = "1.300000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
SamplerLUT1 = "../shaders/shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "../shaders/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/shaders_slang/crt/shaders/guest/advanced/lut/nec-lut.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"
SamplerLUT4 = "../shaders/shaders_slang/crt/shaders/guest/advanced/lut/ntsc-lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"

For a moment I wasn’t sure if this was a miracle mask or if my brightness calibration skills had gone through the roof. The answer was both. Mask 13 is definitely brighter than the other masks. And I don’t see any brightness or tone differences between this config and raw, at max mask settings no less.

EDIT: Subtractive Sharpening reduced from 2.00 to 1.10. This will be in the screenshots later.

2 Likes

Mask shift / stagger is definitelly an interesting feature. This reminds me to add some more options… It’s nice for many users because you can nicely use wide masks with lower resolution displays.

The general brightness loss with mask 13 is quite moderate. Mask 10 is the darkest atm.

1 Like

I really like this feature,you can have completely differents looks with some minor changes in settings beetween 2 presets.

Edit:

3 Likes

New Release Version (2022-10-17-r1):

Notable changes:

  • new mask shift/stagger options, old presets are “safe”
  • values with .5 decimal value have 2-lines of vertical shift/stagger effect

Download link:

https://mega.nz/file/NggFVBDI#E8QGTVpOieQ-KowYZvL73VJZMdL1TjYYdhI2vZ5OemU

10 Likes