Please show off what crt shaders can do!

I’m actually not the biggest fan of blend_overlay because it adjusts the opacity of the mask rather than adjusting the intensity of the mask colors, making it look pretty weird in a lot of situations.

@Ferculey

I think @hunterk posted instructions for how to make blend_overlay do a straight multiply but I never got around to trying it and it’s since been buried in this thread (things get buried fast around here).

EDIT:

Here you go- Please show off what crt shaders can do!

1 Like

Here are my FX-High shader settings. This works best on higher contrast games. The settings to pay attention to are: Bloom Threshold, AnamFlare Threshold, Godray Threshold, FlareLuminance (Higher is less).

Flare and AnamFlare are usually the worst offenders but the most fun when they work right. There really is a no one size fits all solution but I’m highly entertained with toggling this reshade shader on and off various games.

shaders = "18"
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/d65-d50.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = "WhitePointPass"
float_framebuffer10 = "false"
srgb_framebuffer10 = "false"
shader11 = "shaders_slang/crt/shaders/guest/afterglow.slang"
filter_linear11 = "true"
wrap_mode11 = "clamp_to_border"
mipmap_input11 = "false"
alias11 = "AfterglowPass"
float_framebuffer11 = "true"
srgb_framebuffer11 = "false"
shader12 = "shaders_slang/crt/shaders/guest/avg-lum.slang"
filter_linear12 = "true"
wrap_mode12 = "clamp_to_border"
mipmap_input12 = "false"
alias12 = "AvgLumPass"
float_framebuffer12 = "false"
srgb_framebuffer12 = "false"
shader13 = "shaders_slang/crt/shaders/guest/linearize.slang"
filter_linear13 = "true"
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "false"
alias13 = "LinearizePass"
float_framebuffer13 = "false"
srgb_framebuffer13 = "false"
shader14 = "shaders_slang/crt/shaders/guest/blur_vert.slang"
filter_linear14 = "true"
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
alias14 = "GlowPass"
float_framebuffer14 = "false"
srgb_framebuffer14 = "false"
shader15 = "shaders_slang/crt/shaders/guest/blur_horiz.slang"
filter_linear15 = "true"
wrap_mode15 = "clamp_to_border"
mipmap_input15 = "false"
alias15 = ""
float_framebuffer15 = "false"
srgb_framebuffer15 = "false"
shader16 = "shaders_slang/crt/shaders/guest/linearize_scanlines.slang"
filter_linear16 = "true"
wrap_mode16 = "clamp_to_border"
mipmap_input16 = "false"
alias16 = ""
float_framebuffer16 = "false"
srgb_framebuffer16 = "false"
shader17 = "shaders_slang/crt/shaders/guest/crt-guest-dr-venom.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"
parameters = "bLensdirtEnable_toggle;bAnamFlareEnable_toggle;bLenzEnable_toggle;bChapFlareEnable_toggle;bGodrayEnable_toggle;iBloomMixmode;fBloomThreshold;fBloomAmount;fBloomSaturation;fBloomTint_r;fBloomTint_g;fBloomTint_b;iLensdirtMixmode;fLensdirtIntensity;fLensdirtSaturation;fLensdirtTint_r;fLensdirtTint_g;fLensdirtTint_b;fAnamFlareThreshold;fAnamFlareWideness;fAnamFlareAmount;fAnamFlareCurve;fAnamFlareColor_r;fAnamFlareColor_g;fAnamFlareColor_b;fLenzIntensity;fLenzThreshold;fChapFlareThreshold;iChapFlareCount;fChapFlareDispersal;fChapFlareSize;fChapFlareCA_r;fChapFlareCA_g;fChapFlareCA_b;fChapFlareIntensity;fGodrayDecay;fGodrayExposure;fGodrayWeight;fGodrayDensity;fGodrayThreshold;iGodraySamples;fFlareLuminance;fFlareBlur;fFlareIntensity;fFlareTint_r;fFlareTint_g;fFlareTint_b;WP;wp_saturation;SW;AR;PR;AG;PG;AB;PB;sat;lsmooth;GAMMA_INPUT;TAPSV;GLOW_FALLOFF_V;TAPSH;GLOW_FALLOFF_H;TATE;IOS;OS;BLOOM;brightboost;brightboost1;gsl;scanline1;scanline2;beam_min;beam_max;beam_size;h_sharp;s_sharp;csize;bsize;warpX;warpY;glow;shadowMask;masksize;vertmask;slotmask;slotwidth;double_slot;slotms;mcut;maskDark;maskLight;CGWG;gamma_out;spike;inter;interm;bloom;scans"
bLensdirtEnable_toggle = "0.000000"
bAnamFlareEnable_toggle = "1.000000"
bLenzEnable_toggle = "0.000000"
bChapFlareEnable_toggle = "0.000000"
bGodrayEnable_toggle = "1.000000"
iBloomMixmode = "0.000000"
fBloomThreshold = "0.700000"
fBloomAmount = "1.500000"
fBloomSaturation = "1.100000"
fBloomTint_r = "1.000000"
fBloomTint_g = "0.500000"
fBloomTint_b = "0.800000"
iLensdirtMixmode = "0.000000"
fLensdirtIntensity = "0.500000"
fLensdirtSaturation = "2.000000"
fLensdirtTint_r = "1.000000"
fLensdirtTint_g = "1.000000"
fLensdirtTint_b = "1.000000"
fAnamFlareThreshold = "0.900000"
fAnamFlareWideness = "1.200000"
fAnamFlareAmount = "2.500000"
fAnamFlareCurve = "1.200000"
fAnamFlareColor_r = "0.012000"
fAnamFlareColor_g = "0.313000"
fAnamFlareColor_b = "0.588000"
fLenzIntensity = "1.000000"
fLenzThreshold = "0.800000"
fChapFlareThreshold = "0.900000"
iChapFlareCount = "15.000000"
fChapFlareDispersal = "0.250000"
fChapFlareSize = "0.450000"
fChapFlareCA_r = "0.000000"
fChapFlareCA_g = "0.010000"
fChapFlareCA_b = "0.020000"
fChapFlareIntensity = "100.000000"
fGodrayDecay = "0.999900"
fGodrayExposure = "1.000000"
fGodrayWeight = "0.400000"
fGodrayDensity = "1.000000"
fGodrayThreshold = "0.750000"
iGodraySamples = "64.000000"
fFlareLuminance = "0.884999"
fFlareBlur = "10000.000000"
fFlareIntensity = "5.000000"
fFlareTint_r = "1.000000"
fFlareTint_g = "1.000000"
fFlareTint_b = "1.000000"
WP = "0.000000"
wp_saturation = "1.050000"
SW = "1.000000"
AR = "0.070000"
PR = "0.050000"
AG = "0.070000"
PG = "0.050000"
AB = "0.070000"
PB = "0.050000"
sat = "0.100000"
lsmooth = "0.900000"
GAMMA_INPUT = "1.500001"
TAPSV = "4.000000"
GLOW_FALLOFF_V = "0.300000"
TAPSH = "4.000000"
GLOW_FALLOFF_H = "0.300000"
TATE = "0.000000"
IOS = "0.000000"
OS = "1.000000"
BLOOM = "0.000000"
brightboost = "1.000000"
brightboost1 = "1.949999"
gsl = "0.000000"
scanline1 = "12.000000"
scanline2 = "10.000000"
beam_min = "2.150000"
beam_max = "0.900000"
beam_size = "0.700000"
h_sharp = "3.000000"
s_sharp = "0.000000"
csize = "0.000000"
bsize = "600.000000"
warpX = "0.000000"
warpY = "0.000000"
glow = "0.100000"
shadowMask = "2.000000"
masksize = "1.000000"
vertmask = "0.000000"
slotmask = "0.000000"
slotwidth = "1.000000"
double_slot = "1.000000"
slotms = "1.000000"
mcut = "0.250000"
maskDark = "0.600000"
maskLight = "1.500000"
CGWG = "0.300000"
gamma_out = "1.500001"
spike = "0.000000"
inter = "400.000000"
interm = "3.000000"
bloom = "0.000000"
scans = "0.500000"
textures = "Dirt;Sprite"
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"
1 Like

Reshade Settings (edit: CRT.fx gamma should be 1.500 not 2.400) GaussianBlur van be found in Gshade repository on GitHub.

Album

1 Like

Thanks you both, @Syh I tested blendoverlay, and is similar to MAME’s RGB3 but as a black mesh instead of red, green, and blue colors as the MAME’s besides when a game displays brilliant colors like white the shader seems to dissapear to sight.

@Nesguy the tuto seems complicated and I can’t try it and I don’t understand what the first step would be.

1 Like

I’ll send you something later.

@hunterk

How could I fix blendoverlay’s issue with things disappearing over white? I know you said something about multiplication but I’m drawing a blank.

1 Like

Instead of doing all this mess, just do Picture * Shadowmask. It makes the image super-dark, though, since that’s what all that stuff is intended to fix.

3 Likes

Would there be a way to do this while keeping the OverlayMix setting?

As I’d still like to be able to control the strength of the mask.

Basically I want to be able to see the mask over white and be able to control it’s strength.

1 Like

Well, you could try keeping the regular method and then also add the straight multiplication method and then do a variable mix between them.

2 Likes

Could you help me out? I just woke up, lol.

So do the regular thing, then do this

vec3 newmask = Picture * Shadowmask;

The do this at the end instead?

ImageFinal   = mix(newmask, ImageFinal, OverlayMix);

Idk my head hurts, I’m not awake enough for this, lol. I’m not sure what variable mix is.

2 Likes

yeah, something like that

2 Likes

I’ve been testing some set ups on the Nintendo switch, obviously I can’t go beyond 720p but I can’t get any good result for the SNES, is there anyone that have test some good options for the Nintendo switch in handheld mode? As for now, I’m using crt_caligari with 2x scale for the SNES, I’m aware that some options will not be available, but; can anyone come with a suggestion?? I will be happy to learn some new stuff

Finally fixed (half fixed) glass.slang so I could test it on my Sega Genesis preset, it goes along “grade” and also added venom’s afterglow to the stack. After I fix the remaining issues of glass I’d be pretty much done (let’s forget about ntsc-signal for a moment lol). The preset is in my repo.

6 Likes

5 Likes

Looks nice, crt-royale? Trying some new settings?

1 Like

Thanks,yes crt-royale and I changed some minimum values,like beam shape (min,max) from 2.000000 to 1.000000 beam spot power etc

3 Likes

I did a port of Guest-Dr-Venom for ReShade.

Here for those who want to check it out!

6 Likes

Did some experiments with correct viewing distances and masks at 1080p and, long story short, cgwg masks are out, Lottes stretched dot mask and guest-dr-venom slot mask are back in. Wooo!

Also showing off the latest update to Dogway’s grade shader. SMPTE-C gamma mode is looking pretty sweet!

Lottes: The Return

shaders = "10"
shader0 = "shaders_slang/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/stock.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 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_slang/misc/grade.slang"
filter_linear2 = "true"
wrap_mode2 = "clamp_to_border"
mipmap_input2 = "false"
alias2 = "WhitePointPass"
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/afterglow.slang"
filter_linear3 = "true"
wrap_mode3 = "clamp_to_border"
mipmap_input3 = "false"
alias3 = "AfterglowPass"
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/avg-lum.slang"
filter_linear4 = "true"
wrap_mode4 = "clamp_to_border"
mipmap_input4 = "true"
alias4 = "AvgLumPass"
float_framebuffer4 = "true"
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/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/blur_horiz.slang"
filter_linear6 = "true"
wrap_mode6 = "clamp_to_border"
mipmap_input6 = "false"
alias6 = ""
float_framebuffer6 = "true"
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/blur_vert.slang"
filter_linear7 = "true"
wrap_mode7 = "clamp_to_border"
mipmap_input7 = "false"
alias7 = "GlowPass"
float_framebuffer7 = "true"
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/linearize_scanlines.slang"
filter_linear8 = "true"
wrap_mode8 = "clamp_to_border"
mipmap_input8 = "false"
alias8 = ""
float_framebuffer8 = "true"
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/crt-guest-dr-venom.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_border"
mipmap_input9 = "false"
alias9 = ""
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
scale_type_x9 = "viewport"
scale_x9 = "1.000000"
scale_type_y9 = "viewport"
scale_y9 = "1.000000"
parameters = "g_space_out;g_gamma_in;g_gamma_type;g_crtgamut;g_hue_degrees;g_I_SHIFT;g_Q_SHIFT;g_I_MUL;g_Q_MUL;g_vignette;g_vstr;g_vpower;wp_temperature;g_sat;g_vibr;g_lum;g_cntrst;g_mid;g_lift;blr;blg;blb;wlr;wlg;wlb;rg;rb;gr;gb;br;bg;LUT_Size1;LUT1_toggle;LUT_Size2;LUT2_toggle;SW;AR;PR;AG;PG;AB;PB;sat;lsmooth;GAMMA_INPUT;TAPSH;GLOW_FALLOFF_H;TAPSV;GLOW_FALLOFF_V;TATE;IOS;OS;BLOOM;brightboost;brightboost1;gsl;scanline1;scanline2;beam_min;beam_max;beam_size;h_sharp;s_sharp;csize;bsize;warpX;warpY;glow;shadowMask;masksize;vertmask;slotmask;slotwidth;double_slot;slotms;mcut;maskDark;maskLight;CGWG;gamma_out;spike;inter;interm;bloom;scans"
g_space_out = "0.000000"
g_gamma_in = "2.399999"
g_gamma_type = "2.000000"
g_crtgamut = "2.000000"
g_hue_degrees = "0.000000"
g_I_SHIFT = "0.000000"
g_Q_SHIFT = "0.000000"
g_I_MUL = "1.000000"
g_Q_MUL = "1.000000"
g_vignette = "0.000000"
g_vstr = "40.000000"
g_vpower = "0.200000"
wp_temperature = "9305.000000"
g_sat = "0.000000"
g_vibr = "0.000000"
g_lum = "0.000000"
g_cntrst = "0.000000"
g_mid = "0.500000"
g_lift = "0.000000"
blr = "0.000000"
blg = "0.000000"
blb = "0.000000"
wlr = "1.000000"
wlg = "1.000000"
wlb = "1.000000"
rg = "0.000000"
rb = "0.000000"
gr = "0.000000"
gb = "0.000000"
br = "0.000000"
bg = "0.000000"
LUT_Size1 = "16.000000"
LUT1_toggle = "0.000000"
LUT_Size2 = "64.000000"
LUT2_toggle = "0.000000"
SW = "1.000000"
AR = "0.070000"
PR = "0.050000"
AG = "0.070000"
PG = "0.050000"
AB = "0.070000"
PB = "0.050000"
sat = "0.100000"
lsmooth = "0.900000"
GAMMA_INPUT = "2.200000"
TAPSH = "4.000000"
GLOW_FALLOFF_H = "0.000000"
TAPSV = "4.000000"
GLOW_FALLOFF_V = "0.000000"
TATE = "0.000000"
IOS = "0.000000"
OS = "1.000000"
BLOOM = "0.000000"
brightboost = "1.000000"
brightboost1 = "1.000000"
gsl = "2.000000"
scanline1 = "6.000000"
scanline2 = "9.000000"
beam_min = "1.000000"
beam_max = "1.000000"
beam_size = "0.000000"
h_sharp = "4.000000"
s_sharp = "0.000000"
csize = "0.000000"
bsize = "600.000000"
warpX = "0.000000"
warpY = "0.000000"
glow = "0.000000"
shadowMask = "3.000000"
masksize = "1.000000"
vertmask = "0.000000"
slotmask = "0.000000"
slotwidth = "2.000000"
double_slot = "1.000000"
slotms = "1.000000"
mcut = "0.000000"
maskDark = "0.500000"
maskLight = "1.500000"
CGWG = "0.000000"
gamma_out = "2.200000"
spike = "1.000000"
inter = "400.000000"
interm = "1.000000"
bloom = "0.100000"
scans = "0.500000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/lut/sony_trinitron1.png"
SamplerLUT1_linear = "true"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/lut/sony_trinitron2.png"
SamplerLUT2_linear = "true"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
SamplerLUT3 = "shaders_slang/crt/shaders/guest/lut/other1.png"
SamplerLUT3_linear = "true"
SamplerLUT3_wrap_mode = "clamp_to_border"
SamplerLUT3_mipmap = "false"

I tested all the masks in guest-dr-venom at 1080p and made a list of which masks are good to use at each resolution. These are the masks you want to use if you want visible mask detail at correct viewing distances. I’ve omitted those that cause chromatic aberration and/or do weird things to gamma.

4 Likes

Been working on setting up my preset for other systems and vertical games as well, and I’m very happy with the results!

5 Likes

That bloom looks great in the second shot!

And I’m assuming the first is a DS shot, how’d you get it to look like that? (The full screen side by side.)

2 Likes