Please show off what crt shaders can do!

I smashed together venom fast and reshade to make an “FX” shader. Is it good? I don’t know but it’s entertaining. It works best with games like Super Metroid and top down shooters. It’s hard to capture the split second flares and bloom so I’ve found some screenshots and exaggerated them for viewing. It’s better in motion when gun shots or sword slashes flare up.

You can dial things up and down with the threshold values. If you download it and find a game that shows off the silly FX let me know.

shaders = "17"
shader0 = "shaders_slang/reshade/shaders/bloom/BloomPass0.slang"
filter_linear0 = "true"
wrap_mode0 = "clamp_to_border"
mipmap_input0 = "false"
alias0 = "SamplerBloom1"
float_framebuffer0 = "true"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "4.000000"
scale_type_y0 = "source"
scale_y0 = "4.000000"
shader1 = "shaders_slang/reshade/shaders/bloom/BloomPass1.slang"
filter_linear1 = "true"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = "SamplerBloom2"
float_framebuffer1 = "true"
srgb_framebuffer1 = "false"
shader2 = "shaders_slang/reshade/shaders/bloom/BloomPass2.slang"
filter_linear2 = "true"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = "SamplerBloom3"
float_framebuffer2 = "true"
srgb_framebuffer2 = "false"
shader3 = "shaders_slang/reshade/shaders/bloom/BloomPass3.slang"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = "SamplerBloom4"
float_framebuffer3 = "true"
srgb_framebuffer3 = "false"
shader4 = "shaders_slang/reshade/shaders/bloom/BloomPass4.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "false"
alias4 = "SamplerBloom5"
float_framebuffer4 = "true"
srgb_framebuffer4 = "false"
shader5 = "shaders_slang/reshade/shaders/bloom/LensFlarePass0.slang"
filter_linear5 = "true"
wrap_mode5 = "clamp_to_border"
mipmap_input5 = "false"
alias5 = "LensFlare1"
float_framebuffer5 = "true"
srgb_framebuffer5 = "false"
shader6 = "shaders_slang/reshade/shaders/bloom/LensFlarePass1.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = "LensFlare2"
float_framebuffer6 = "true"
srgb_framebuffer6 = "false"
shader7 = "shaders_slang/reshade/shaders/bloom/LensFlarePass2.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "LensFlare3"
float_framebuffer7 = "true"
srgb_framebuffer7 = "false"
shader8 = "shaders_slang/reshade/shaders/bloom/LightingCombine.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "false"
srgb_framebuffer8 = "false"
scale_type_x8 = "source"
scale_x8 = "0.250000"
scale_type_y8 = "source"
scale_y8 = "0.250000"
shader9 = "shaders_slang/stock.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = ""
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
shader10 = "shaders_slang/crt/shaders/guest/fast/pre-shaders.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = "PrePass"
float_framebuffer10 = "false"
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/fast/linearize.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = "LinearizePass"
float_framebuffer11 = "true"
srgb_framebuffer11 = "false"
scale_type_x11 = "source"
scale_x11 = "1.000000"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/crt/shaders/guest/fast/crt-guest-advanced-pass1.slang"
filter_linear12 = "true"
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "false"
alias12 = "Pass1"
float_framebuffer12 = "true"
srgb_framebuffer12 = "false"
scale_type_x12 = "viewport"
scale_x12 = "1.000000"
scale_type_y12 = "source"
scale_y12 = "1.000000"
shader13 = "shaders_slang/crt/shaders/guest/fast/bloom_horizontal.slang"
filter_linear13 = "true"
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "false"
alias13 = ""
float_framebuffer13 = "true"
srgb_framebuffer13 = "false"
scale_type_x13 = "absolute"
scale_x13 = "640"
scale_type_y13 = "source"
scale_y13 = "1.000000"
shader14 = "shaders_slang/crt/shaders/guest/fast/bloom_vertical.slang"
filter_linear14 = "true"
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
alias14 = "BloomPass"
float_framebuffer14 = "true"
srgb_framebuffer14 = "false"
scale_type_x14 = "source"
scale_x14 = "1.000000"
scale_type_y14 = "absolute"
scale_y14 = "480"
shader15 = "shaders_slang/crt/shaders/guest/fast/crt-guest-advanced-pass2.slang"
filter_linear15 = "true"
wrap_mode15 = "clamp_to_border"
mipmap_input15 = "false"
alias15 = ""
float_framebuffer15 = "true"
srgb_framebuffer15 = "false"
scale_type_x15 = "viewport"
scale_x15 = "1.000000"
scale_type_y15 = "viewport"
scale_y15 = "1.000000"
shader16 = "shaders_slang/crt/shaders/guest/fast/deconvergence-f.slang"
filter_linear16 = "true"
wrap_mode16 = "clamp_to_border"
mipmap_input16 = "false"
alias16 = ""
float_framebuffer16 = "false"
srgb_framebuffer16 = "false"
scale_type_x16 = "viewport"
scale_x16 = "1.000000"
scale_type_y16 = "viewport"
scale_y16 = "1.000000"
bLensdirtEnable_toggle = "1.000000"
bAnamFlareEnable_toggle = "1.000000"
bChapFlareEnable_toggle = "1.000000"
bGodrayEnable_toggle = "1.000000"
iBloomMixmode = "1.000000"
fBloomAmount = "1.500000"
fBloomSaturation = "1.100000"
fBloomTint_r = "1.000000"
fBloomTint_g = "0.500000"
fBloomTint_b = "0.800000"
iLensdirtMixmode = "1.000000"
fAnamFlareWideness = "1.200000"
fAnamFlareAmount = "2.500000"
fChapFlareIntensity = "10.000000"
fGodrayDecay = "0.999900"
fGodrayWeight = "0.400000"
fGodrayThreshold = "0.850000"
iGodraySamples = "48.000000"
fFlareLuminance = "0.875000"
fFlareBlur = "10000.000000"
fFlareIntensity = "1.570000"
fFlareTint_r = "1.000000"
fFlareTint_g = "1.000000"
glow = "0.000000"
gamma_c = "1.100000"
brightboost1 = "1.300000"
scanline2 = "15.000000"
beam_min = "1.999999"
shadowMask = "10.000000"
deconrr = "-1.000000"
deconrb = "1.000000"
deconrry = "-1.000000"
deconrby = "1.000000"
post_br = "1.100000"
textures = "Dirt;Sprite;SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
Dirt = "shaders_slang/reshade/shaders/bloom/LensDB.png"
Dirt_wrap_mode = "clamp_to_border"
Dirt_mipmap = "false"
Sprite = "shaders_slang/reshade/shaders/bloom/LensSprite.png"
Sprite_wrap_mode = "clamp_to_border"
Sprite_mipmap = "false"
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"
12 Likes

Ha! Love it. There is something about putting over the top effects on these things that I quite like the idea of. Nothing to do with CRTs just putting a completely different art style in. I haven’t really experimented with the shader’s that already exist in this direction.

4 Likes

This shader is so fun to use, pretty much any game you throw on turns it into a whole new experience and I love it. Thanks for this one

2 Likes

4 Likes

That FX shader does really well with the arcade version of Strider!

6 Likes

For anyone interested I did a port of NTSC-Adaptive to ReShade :

Some shots with CRT-Geom on top :

13 Likes

Just showing off what CyberLab Turbo Duo for Blargg + Blargg_NTSC_Turbo_Duo_SNES_PSX_S-Video_CyberLab_Special_Edition looks like today!

CyberLab Turbo Duo for Blargg + Blargg_NTSC_Turbo_Duo_SNES_PSX_S-Video_CyberLab_Special_Edition

This is what CyberLab SNES looks like today!

CyberLab SNES

This is what CyberLab Genesis for Blargg + Blargg_NTSC_Genesis_S-Video_CyberLab_Special_Edition looks like today!

CyberLab Genesis for Blargg + Blargg_NTSC_Genesis_S-Video_CyberLab_Special_Edition

This is what CyberLab NES for Blargg + Core Blargg NTSC S-Video looks like today!

CyberLab NES for Blargg + Core Blargg NTSC S-Video - 1

CyberLab NES for Blargg + Core Blargg NTSC S-Video - 2

CyberLab NES for Blargg + Core Blargg NTSC S-Video - 3

CyberLab NES for Blargg + Core Blargg NTSC S-Video - 4

CyberLab NES for Blargg + Core Blargg NTSC S-Video - 5

CyberLab NES for Blargg + Core Blargg NTSC S-Video - 6

You can use MPC-HC, MX Player or VLC Player to view the videos.

CyberLab__Arcade-Sharp__PVM-Edition__ADV

You have to zoom in or view these screenshots fullscreen for them to look right.

1 Like

2 Likes

Here we go another guest shader update another shader tweak. @guest.r I like the new additions especially that alternate bloom and luma grain, made good use of both of those. Just like my last post I included presets of both warm and cool temperatures to play with:

https://www.mediafire.com/file/i8agszxm2yys04d/crt-guest-advanced-ntsc-slotmask_presets_05-08-2022.zip/file

You must have guest’s latest shader update for my presets to display properly which you can find here.

@HyperspaceMadness you already know lol. As always, hope you all enjoy.

8 Likes

An example how i like to play some games, but is quite a quick setup.

Sometimes i find the Smart Edge Interpolation feature very handy also.

Edit:

parameter values for the standard preset (copy/paste into an existing saved preset):

bloom = "-0.500000"
halation = "0.050000"
brightboost = "1.800000"
gsl = "1.000000"
scanline1 = "2.000000"
scanline2 = "16.000000"
beam_min = "2.499999"
beam_size = "0.750000"
scans = "1.750000"
scan_falloff = "0.500000"
h_sharp = "3.300002"
smart_ei = "0.200000"
sth = "0.100000"
warpX = "0.050000"
warpY = "0.070000"
csize = "0.080000"
bsize1 = "0.100000"
shadowMask = "6.000000"
maskstr = "1.000000"
mask_layout = "1.000000"
deconrby = "-1.500000"
post_br = "1.200000"
13 Likes

That looks great! Would you mind sharing the preset?

2 Likes

Sure, maybe it needs some more tweaking though. :smiley:

2 Likes

Good work from the master himself! Maybe you should start including your current personal shader preset as an example preset in your package from now on!

I could see this benefiting many users, both new and experienced alike.

4 Likes

Hello everybody! Well I made this preset with Hillian sinc, I confess that I would like to get this sharpness with the guest advanced mask 10, but it doesn’t get the sharpness like this:

shaders = “6”
shader0 = “shaders_slang/ntsc/shaders/ntsc-adaptive/ntsc-pass1.slang”
filter_linear0 = “false”
wrap_mode0 = “clamp_to_border”
mipmap_input0 = “false”
alias0 = “”
float_framebuffer0 = “true”
srgb_framebuffer0 = “false”
scale_type_x0 = “source”
scale_x0 = “4.000000”
scale_type_y0 = “source”
scale_y0 = “1.000000”
shader1 = “shaders_slang/ntsc/shaders/ntsc-adaptive/ntsc-pass2.slang”
filter_linear1 = “true”
wrap_mode1 = “clamp_to_border”
mipmap_input1 = “false”
alias1 = “”
float_framebuffer1 = “false”
srgb_framebuffer1 = “false”
scale_type_x1 = “source”
scale_x1 = “0.500000”
scale_type_y1 = “source”
scale_y1 = “1.000000”
shader2 = “shaders_slang/misc/image-adjustment.slang”
filter_linear2 = “false”
wrap_mode2 = “clamp_to_border”
mipmap_input2 = “false”
alias2 = “”
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/custom-fast-sharpen.slang”
filter_linear3 = “false”
wrap_mode3 = “clamp_to_border”
mipmap_input3 = “false”
alias3 = “”
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/sharpen/shaders/adaptive-sharpen.slang”
filter_linear4 = “false”
wrap_mode4 = “clamp_to_border”
mipmap_input4 = “false”
alias4 = “”
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/hyllian/crt-hyllian-sinc.slang”
wrap_mode5 = “clamp_to_border”
mipmap_input5 = “false”
alias5 = “”
float_framebuffer5 = “false”
srgb_framebuffer5 = “false”
quality = “-1.000000”
ntsc_phase = “2.000000”
cust_artifacting = “1.100000”
ia_saturation = “1.100000”
ia_contrast = “1.050000”
SHARPEN = “4.000000”
CONTR = “0.000000”
BEAM_MIN_WIDTH = “0.360000”
COLOR_BOOST = “2.000000”
PHOSPHOR_LAYOUT = “8.000000”
OutputGamma = “2.999999”

6 Likes

It would require a special parameter with substractive sharpness. Been thinking about it since a long time ago and found a very nice code solution, will add it as a new release soon.

5 Likes

Great looking shader preset! I don’t see why you couldn’t get CRT-Guest-Advance to be as sharp though.

1 Like

I used custom fast sharpen in this preset here, but in guest advanced I can’t add another sharpening pass after ntsc.

In this case, I used two sharpening shaders in this preset with Hyllian crt sync, the second being the adaptive sharpen.

I left the sharpen custom strength at max and the amount at 0, I left the rest for adaptive sharpen at 0.80. With luck I think I got a not too destructive result.

2 Likes

Interesting, I use CRT-Guest-Advance via HSM Mega Bezel Reflection Shader so there are a couple additional options available to me. I haven’t really mastered using the CRT-Guest-Advance-NTSC version and I’ve been instead using Blargg NTSC video filters with custom settings where possible in order to incorporate NTSC artifacts into my CRT Shader presets.

Within HSM Mega Bezel Reflection Shader I get to use Horizontal Sharpness, Subtractive Sharpness as well as Fast Sharpen. I think the Blargg video filter also has a Sharpness setting but I haven’t found the need to adjust that as well.

This is the result:

If you’re still getting proper transparencies in the Sonic The Hedgehog Waterfalls with that level of sharpness on the edges, I think you’ve done a fantastic job there!

2 Likes

Hey thank you so much!! This is amazing!! It’s better than I could have imagined!!

before and after (my preset on the left, your update on the right)

3 Likes

I’ve noticed in your screenshot that although overall sharpness is improved, you can now notice the individual vertical lines (jail bars) that make up the waterfall which were more blended in your older screenshot producing a more convincing transparency effect.

Here are some examples using the “old” CRT-Guest-Advance in HSM Mega Reflection Shader using Horizontal Sharpness, Subtractive Sharpness and Fast Sharpen plus custom Blargg SNES Video filter settings to do transparency effects.

You have to load full resolution then zoom in or view fullscreen in order for these to look correct because of the mask and scanline settings.

1 Like