New CRT shader from Guest + CRT Guest Advanced updates

Guest good evening, but if one wanted to search for an image with such a sharp and marked silhouette in the displayed image, without using an XBR scaler or similar, should one act on the two Smart Edge values? And if so, which of the two should you increase exactly? Thank you

1 Like

I’m asking for situations like “Marvel Vs. Capcom 2” and similar, where due to weird 2D pixel scaling compared to 3D, the scalers don’t work properly

1 Like

Some screenshots with 2 different presets.

GAMMA_INPUT = "2.200000"
interm = "0.000000"
bloom = "0.980000"
brightboost = "1.000000"
brightboost1 = "1.000000"
gsl = "-1.000000"
scanline1 = "17.500000"
scanline2 = "47.000000"
beam_min = "1.000000"
beam_size = "1.000000"
scans = "0.300000"
scangamma = "5.000000"
h_sharp = "4.400000"
s_sharp = "0.000000"
bsize1 = "0.000000"
shadowMask = "8.000000"
maskstr = "1.000000"
mcut = "1.000000"
maskDark = "0.000000"
maskLight = "1.000000"
mask_gamma = "1.000000"
slotmask = "1.000000"
slotmask1 = "1.000000"
slotwidth = "3.000000"
double_slot = "2.000000"
gamma_out = "2.200000"
deconrr = "-1.000000"
deconrb = "1.000000"
deconrry = "-1.000000"
deconrby = "1.000000"

and

GAMMA_INPUT = "2.200000"
interm = "0.000000"
bloom = "0.980000"
brightboost = "1.000000"
brightboost1 = "1.000000"
gsl = "-1.000000"
scanline1 = "17.500000"
scanline2 = "47.000000"
beam_min = "1.000000"
beam_size = "1.000000"
scans = "0.300000"
scangamma = "5.000000"
h_sharp = "10.500000"
s_sharp = "0.000000"
c_shape = "0.050000"
bsize1 = "0.000000"
sborder = "0.250000"
shadowMask = "11.000000"
maskstr = "1.000000"
mcut = "1.000000"
maskDark = "0.000000"
maskLight = "1.000000"
mshift = "-2.000000"
mask_gamma = "1.000000"
gamma_out = "2.200000"
9 Likes

I would still use the HD version for these games, but you can basically not hope for a decent low-res pixel scaling without a proper texture replacing project involved.

3 Likes

which CRT guest preset(s) have you used previously to set up those 2 preset options ?

1 Like

It was for crt-guest-advanced.slangp, but also works with NTSC version if you remove h_sharp and s_sharp. You can delete maskDark and maskLight, I was testing another mask.

Mask 13 can be used with those settings . :stuck_out_tongue:

Edit:

Ntsc sharpen (negative:adaptive) is a nice feature. If you push value to 10.0 with ntsc shape mode to the lowest value and blend mode to 0.0 while having artifacts to 5. It produces dark artifacts with a clear picture at 1.00 Ntsc resolution.

4 Likes

Imho Marvel vs Capcom 2 doesn’t look so bad if you pump up Flycast’s internal resolution, then also use that setting in Guest Advanced HD, while switching interlacing off.

By comparison, with the default 640x480:

That clash of low/high res comes off a bit weird even on crts imho, I find it especially misapplied with some of the RPG remakes that Square Enix has been put out in recent years.

3 Likes

Thank you !!! But it’s really good like this, as soon as I can I try, in the meantime with your advice I can solve this strange situation. To this day I still don’t understand why we opted for two-dimensional graphics with such low scaling … thanks anyway :grinning:

2 Likes

Hi Guest, I wanted to ask, if it was possible, if you could share the parameters to create a preset with your Advance shader together with ScaleFX, as you kindly did with the XBR preset. The ScaleFX is more accurate even if heavier and I would like to try it. Heartfelt thanks for the help.

3 Likes

Sure. Firs make sure you are using the latest shader versions. Then just follow these simple steps:

  • load the scalefx preset
  • optionally you can append the fxaa preset
  • append the crt-guest-advanced-hd preset
  • increase the ‘internal resolution’ parameter to your liking

If you don’t like scanlines then decrease the ‘Interlace Trigger Resolution’ until scanlines are gone.

7 Likes

I wanted to achieve full mask bloom while keeping visible mask on bright areas without altering grayscale values for dark colors. (8-16-24 —>224-232-240)

Problem with bloom strength at “-1.00” you lose mask details when colors are at 240 brightness.

So what I did is just limit max brightness to 232.

The trick is to use “keep mask effect with clipping” “0.15” and “bloom radius” “1.00” - “bloom sigma” “0.25”.

Only tested with my preset.

Some screenshots with different values (shape,sharpness,mask).

7 Likes

Some sexy looking pics here especially the Slot Mask ones, mind posting the settings to those? I like that you’ve brightened up the image a bit.

4 Likes

Thanks, here are the presets.

Also you can try -2.50 or 20.0 for scanline1.

GAMMA_INPUT = "2.100000"
interm = "0.000000"
SIZEHB = "1.000000"
SIGMA_HB = "0.250000"
SIZEVB = "1.000000"
SIGMA_VB = "0.250000"
bloom = "-1.000000"
brightboost = "1.000000"
brightboost1 = "1.000000"
scanline1 = "20.000000"
scanline2 = "49.000000"
beam_min = "1.000000"
beam_size = "1.000000"
scans = "-0.400000"
scangamma = "5.000000"
h_sharp = "10.500000"
s_sharp = "0.000000"
c_shape = "0.050000"
bsize1 = "0.000000"
sborder = "0.250000"
shadowMask = "6.000000"
maskstr = "1.000000"
mcut = "1.000000"
maskDark = "0.000000"
maskLight = "1.000000"
mask_gamma = "1.000000"
mclip = "0.150000"
gamma_out = "2.200000"
    GAMMA_INPUT = "2.000000"
    interm = "0.000000"
    SIZEHB = "1.000000"
    SIGMA_HB = "0.250000"
    SIZEVB = "1.000000"
    SIGMA_VB = "0.250000"
    bloom = "-1.000000"
    brightboost = "1.000000"
    brightboost1 = "1.000000"
    scanline1 = "-2.500000"
    scanline2 = "49.000000"
    beam_min = "1.000000"
    beam_size = "1.000000"
    scans = "-0.500000"
    scangamma = "5.000000"
    h_sharp = "10.500000"
    s_sharp = "0.000000"
    ei_limit = "0.000000"
    sth = "0.000000"
    c_shape = "0.050000"
    bsize1 = "0.000000"
    sborder = "0.250000"
    shadowMask = "11.000000"
    maskstr = "1.000000"
    mcut = "1.000000"
    maskDark = "0.000000"
    maskLight = "1.000000"
    mask_gamma = "1.000000"
    slotmask = "1.000000"
    slotmask1 = "1.000000"
    slotwidth = "4.000000"
    double_slot = "2.000000"
    mclip = "0.150000"
    gamma_out = "2.200000"
    deconrr = "-1.000000"
    deconrb = "1.000000"
    deconrry = "-1.000000"
    deconrby = "1.000000"

Ntsc.

quality = "-1.000000"
ntsc_fields = "1.000000"
ntsc_phase = "2.000000"
ntsc_ring = "1.000000"
ntsc_sharp = "10.000000"
ntsc_shape = "0.000000"
blendMode = "0.000000"
CCONTR = "0.000000"
CDETAILS = "0.000000"
interm = "0.000000"
HSHARPNESS = "1.000000"
SIGMA_HOR = "1.000000"
S_SHARP = "0.000000"
HSHARP = "0.000000"
HARNG = "0.000000"
SIZEHB = "1.000000"
SIGMA_HB = "0.250000"
SIZEVB = "1.000000"
SIGMA_VB = "0.250000"
bloom = "-1.000000"
brightboost = "1.000000"
brightboost1 = "1.000000"
scanline1 = "-2.500000"
scanline2 = "49.000000"
beam_min = "1.000000"
beam_size = "1.000000"
scans = "-0.500000"
scangamma = "5.000000"
bsize1 = "0.000000"
shadowMask = "11.000000"
maskstr = "1.000000"
mcut = "1.000000"
maskDark = "0.000000"
maskLight = "1.000000"
mask_gamma = "1.000000"
slotmask = "1.000000"
slotmask1 = "1.000000"
slotwidth = "4.000000"
double_slot = "2.000000"
mclip = "0.150000"
gamma_out = "2.200000"
deconrr = "-1.000000"
deconrb = "1.000000"
deconrry = "-1.000000"
deconrby = "1.000000"
5 Likes

Nice looking presets there. Thanks for sharing. Definitely worth a try or at least a closer look.

2 Likes

Hi Professor Braun, did you use Guest Advance or Guest Advance HD for these settings?

1 Like

crt-guest-advanced-ntsc.slangp for preset with NTSC settings and the two others crt-guest-advanced.slangp

4 Likes

Hey @guest.r do you think it’s possible to merge crt guest shader with kokoko3k 's reflective bezel?

Koko-aio is really cool and runs on low end hardware unlike mega bezels, but your shader features are far superior in my opinion.

crt-guest-koko-aio edition would be just perfect.

2 Likes
2 Likes

interesting… need the nightly of retroarch… important to say :slight_smile:

i tried with scalefx … it’s interesting about the result… but i think it’s less accurate to the original pixel drawing to compare with xbr2 :slight_smile: but it’s really nice also… dilemma ? :stuck_out_tongue_winking_eye: It seems SCALEFX + GUEST ADVANCED is faster than GUEST ADVANCED + XBR2 SCALE4

ORIGINAL

SCALEFX + GUEST ADVANCED ( NOT HD)

GUEST ADVANCED (NOT HD) + XBR2 SCALE4

People what do you think ?

4 Likes

Masks 2-3-4

shaders = "18"
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/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_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_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_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_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_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_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_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_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_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_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_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 = "800"
scale_type_y12 = "source"
scale_y12 = "1.000000"
shader13 = "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 = "800"
scale_type_y13 = "absolute"
scale_y13 = "600"
shader14 = "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 = "800"
scale_type_y14 = "absolute"
scale_y14 = "600"
shader15 = "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 = "800"
scale_type_y15 = "absolute"
scale_y15 = "600"
shader16 = "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_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"
quality = "-1.000000"
ntsc_fields = "1.000000"
ntsc_phase = "3.000000"
ntsc_ring = "1.000000"
ntsc_sharp = "10.000000"
ntsc_shape = "0.000000"
blendMode = "0.000000"
CCONTR = "0.000000"
CDETAILS = "0.000000"
GAMMA_INPUT = "1.900000"
interm = "0.000000"
HSHARPNESS = "1.000000"
SIGMA_HOR = "1.000000"
S_SHARP = "0.000000"
HSHARP = "0.000000"
HARNG = "0.000000"
SIZEHB = "1.000000"
SIGMA_HB = "0.250000"
SIZEVB = "1.000000"
SIGMA_VB = "0.250000"
bloom = "-1.000000"
brightboost = "1.000000"
brightboost1 = "1.000000"
gsl = "-1.000000"
scanline1 = "20.000000"
scanline2 = "20.000000"
beam_min = "1.000000"
beam_size = "1.000000"
scans = "-0.600000"
scangamma = "5.000000"
bsize1 = "0.000000"
shadowMask = "4.000000"
maskstr = "1.000000"
mcut = "1.000000"
maskDark = "0.000000"
maskLight = "1.000000"
mask_gamma = "1.000000"
mclip = "0.150000"
gamma_out = "2.200000"
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"
4 Likes