@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?
Itās New Zero Team (Arcade).
Hey, this game is really cool!
Itās marked ānot workingā game, on Launchbox, so I never saw it.
I think to disable this function, to not lose pearls like this!
It looks great in @Cyber RGB Smooth PVM preset
Hey @guest.r, a question about NTSC phase.
Phase 2 NTSC (like on Genesis, Saturn) produces a significant desaturation and an overall quality loss of the image, even if itās the correct option (using auto sets it on 2, which is used for 320px output); if you switch to phase 3 you have ātrueā colors, better definition, but a loss in dithering.
Is it something I can correct in some way, or is there a way to have the best of both worlds?
Phase 2 NTSC:
Phase 3 NTSC:
Thanks @soqueroeu. Is this from a recent version of my preset pack or is it modified in some way? I find the scanlines look a bit uneven in this screenshot.
It could just be the jpeg compression hard at work though.
I donāt remember making any changes to the preset. If you notice any improvement, please let me know.
It could very well be the jpeg compression. If you want to further investigate, you can post a *.png and Iāll take a look.
You can increase the NTSC Color saturation parameter for better saturation. NTSC Sharpness (negative) should provide better definition. There are a lot of parameters you can tweak, including brigthness etc.
I have been toying around a bit with mame vertical presets:
Newest version is required for this setup, you can also copy the content of the provided dl. version into the slang/crt folder.
shaders = "12"
shader0 = "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_slang/xbr/shaders/xbr-lv3-standalone.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 = "3.000000"
scale_type_y1 = "source"
scale_y1 = "3.000000"
shader2 = "shaders_slang/crt/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/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/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/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/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/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/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/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/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/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"
XBR_BLENDING = "0.000000"
BP = "-20.000000"
prescalex = "3.000000"
SIGMA_HB = "0.600000"
SIGMA_VB = "0.500000"
mask_bloom = "0.650000"
halation = "-0.300000"
gsl = "-1.000000"
scanline1 = "5.000000"
scanline2 = "7.000000"
h_sharp = "2.000003"
s_sharp = "1.000000"
ring = "1.500000"
TATE = "1.000000"
shadowMask = "10.000000"
maskstr = "1.000000"
maskboost = "1.599999"
mshift = "2.500000"
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"
Is there a method to disable scanlines without using interlace? Some shaders (easymode, lottes-fast) allow this without side effects (e.g. image getting blurrier).