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:
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:
Hey this game looks interesting, which game is it?
This is Xexyz on Nes,good game.
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)
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.
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.
I really like this feature,you can have completely differents looks with some minor changes in settings beetween 2 presets.
Edit:
New Release Version (2022-10-17-r1):
Notable changes:
Download link:
https://mega.nz/file/NggFVBDI#E8QGTVpOieQ-KowYZvL73VJZMdL1TjYYdhI2vZ5OemU
@guest.r are you also on the libretro discord because more people need to know of your awesome shader also i wish there was a more easy way to see if your shader gets a update
Thanks for the nice invitation to the discord. I’m a bit old fashioned regarding internet activities, a true old school forum hobo. Honestly i’m hoping more folks are joining the libretro forums since it’s a fun and inspiring place. Maybe i’ll take a peek at the discord community though, doesn’t hurt to try something new.
here is the link thanks to the libretro discord i found some great shaders like your all the projects based on mega bezel & sonkun shader https://discord.gg/6tbQpwH66p
Thanks for the invite, i’m taking a look around already.
I wanted to push to the limits some settings of your shader (saturation ,bloom,sharpness) while trying to keep gamma correct,glow and some sort of accuracy for brightness (center of scanline). Here are the results:
SIZEHB = "1.000000"
SIGMA_HB = "0.250000"
SIZEVB = "1.000000"
SIGMA_VB = "0.250000"
bloom = "0.950000"
gamma_c = "1.125000"
scans = "1.000000"
scan_falloff = "2.000000"
spike = "0.000000"
h_sharp = "15.000000"
s_sharp = "0.000000"
ei_limit = "0.000000"
sth = "0.000000"
shadowMask = "11.000000"
maskstr = "1.000000"
mcut = "1.000000"
mask_gamma = "5.000000"
mclip = "0.000000"
quality = "-1.000000"
ntsc_fields = "1.000000"
ntsc_phase = "2.000000"
GAMMA_INPUT = "2.400000"
spike = "0.000000"
SIZEHB = "1.000000"
SIGMA_HB = "0.250000"
SIZEVB = "1.000000"
SIGMA_VB = "0.250000"
bloom = "0.950000"
gamma_c = "1.125000"
scans = "1.000000"
scan_falloff = "2.000000"
shadowMask = "11.000000"
maskstr = "1.000000"
mcut = "1.000000"
mask_gamma = "5.000000"
mclip = "0.000000"
gamma_out = "2.400000"
Can you share your preset ? I like the smoothness. Also you might have something for vector games with all advancements from your shader. Afterglow + xBR might be a good start.
Here is the preset. With arcade games i like to add some negative black level though, saturation and contrast get way better.
BP = "-25.000000"
prescalex = "3.000000"
mask_bloom = "0.650000"
halation = "-0.325000"
gamma_c = "1.200000"
h_sharp = "2.500002"
shadowMask = "10.000000"
maskstr = "1.000000"
maskboost = "1.500000"
mshift = "2.500000"
First or second pass should contain a xbr scaler with 3x scale, just a reminder.
I started to make some notes about shaders for me, e.g. the masks of the Guest shaders, for shifts I’ve got the following:
0,5,2,6: Shift 1 for shadow mask
8: Shift 1 + Slot = LCD grid effect
10: Shift 2 for slot mask
13: Shift 3 for shadow mask
Anything to amend/add here?
Nice findings there. Maybe i’ll like to add that even width masks like half-of-their-width shift and that mask size of 2.0 makes all masks with even width, ofc. this is more viable for 4k.
With current release versions (not yet in repository) there is also an option to make double-lined shifts with setting the decimal parameter value to .5.
Please, tell me whats game in the shot?