Please show off what crt shaders can do!

Sorry, had to upload somewhere else as having to resize due to the forum 4mb limit seemed to destroy the image.

2 Likes

okay, that didn’t pan out.

Try this

A shot of some actual game content showing pixel detail along with a white screen would be great

#reference "shaders_slang/crt/crt-guest-dr-venom2.slangp"
shadowMask = "2.000000"
masksize = "2.000000"
maskDark = "0.300000"
maskLight = "1.000000"
slotmask = "0.700000"
slotwidth = "6.000000"
double_slot = "2.000000"
mclip = "0.000000"
1 Like

Here’s 4 photos of the white screen. I’ll do the game one now.

2 Likes

The dowscaled versions of those shots look much better, might be too much brightness

1 Like

These are the best I think I can get:-

Looks to me actually like the white pixel still doesn’t get turned off…

Yeah, see, this just doesn’t work. It’s a fool’s errand, I tell you. We need 8K retina resolution displays to do a passable slotmask. My advice, stick to aperture grilles and avoid color masks… in other words, just use mask 7 :stuck_out_tongue:

3 Likes

Times like this I’m mad about the character limit, all I want to do is just reply with a simple “No.” And be all sassy but now I gotta write all this bs.

Shot looks good btw.

1 Like

Screw it, this can be it’s own post…

Something I forgot to mention is, composite is way more interference-y than most shaders give it credit for, imho. (Granted it could be attributed to my cable to a bigger extent than I’m trying to give it credit for)

Like stuff has very consistent horizontal waving on a scanline level almost seemingly per “pixel”; at least this is case with my CRT, the component signal doesn’t have this issue to anywhere near that noticeable an extent, if at all iirc.

I blame chat for making my eyeball my CRT because shaders lol. I wouldn’t have cared this deeply about figuring out all the small things that make up that type of display.

@Nesguy lmk if this is making sense.

1 Like

That’s interesting, I don’t have any CRTs at the moment to verify though :confused: It would make sense, though.

My new shader approach is to use only bw aperture grilles and use deconvergence for the whole additive color thing that CRTs do. It kinda works, I think…? I posted a photo of a Trinitron a few pages up, it’s remarkably grid-like in close up. I think I’m getting close with my current setup.

edit: I might get rid of the deconvergence though, it’s not present in the above photo. Oddly, it’s more present in the photo of the high-res PC monitor:

2 Likes

Fair enough, it was worth a go :slight_smile:

1 Like

Yeah thanks for bearing with me, there.

2 Likes

I realized this was part of what I was going on about months ago about things looking to sterile, part of that analog look is those micro dynamic effects, like the wavy bs I described, also at 4/8k low level static/grain would be great imho (it’s something that I’ve noticed on every CRT I’ve ever owned, no matter the connection).

Personally I’m a big fan of low levels of decovergence, the above picture issue could strictly down to just proper maintenance and calibration, or just use in general lol. Tho if you decide against, completely fair, you have to look at it all day not me :joy:, more seriously tho I just prefer what it does to the image if you properly control it.

Hi @BendBombBoom do you have an updated dotty preset for the Guest-DrVenom Advanced? :pleading_face:

2 Likes

@HyperspaceMadness Dotty lost a step or two when I switched to from a 4k to a 1080 120hz screen. It became my “RGB”. I’ll post that along with an attempt to pump up the beam dynamics. (It ended up making the darks more masked than making the brights more bloomy.)

RGB:

shaders = "12"
shader0 = "shaders_slang/sharpen/shaders/fast-sharpen.slang"
filter_linear0 = "true"
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/misc/grade.slang"
filter_linear1 = "true"
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 = "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 = "false"
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 = "false"
srgb_framebuffer6 = "false"
scale_type_x6 = "viewport"
scale_x6 = "0.500000"
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 = "false"
srgb_framebuffer7 = "false"
scale_type_x7 = "viewport"
scale_x7 = "0.500000"
scale_type_y7 = "viewport"
scale_y7 = "0.500000"
shader8 = "shaders_slang/crt/shaders/guest/advanced/bloom_horizontal.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 = "1.000000"
scale_type_y8 = "source"
scale_y8 = "1.000000"
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 = "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/crt-guest-advanced.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = ""
float_framebuffer10 = "false"
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"
SHARPEN = "0.150000"
CONTR = "0.250000"
g_vignette = "0.000000"
g_mid = "0.250000"
wp_temperature = "7104.000000"
LUT_Size1 = "32.000000"
LUT_Size2 = "32.000000"
LUTLOW = "12.000000"
lsmooth = "0.750000"
GAMMA_INPUT = "2.200000"
interm = "2.000000"
iscan = "0.350000"
SIZEH = "10.000000"
SIGMA_H = "2.400000"
SIZEV = "1.000000"
SIGMA_V = "0.500000"
SIZEHB = "3.000000"
SIZEVB = "3.000000"
glow = "0.010000"
halation = "0.150000"
brightboost = "2.899999"
brightboost1 = "1.500000"
bogus_scanline = "1.000000"
gsl = "-1.000000"
beam_min = "1.899999"
beam_max = "1.300000"
scans = "1.000000"
spike = "0.000000"
h_sharp = "4.200001"
s_sharp = "1.500000"
smart_ei = "3.500000"
shadowMask = "7.000000"
maskDark = "0.250000"
mcut = "1.850000"
mask_gamma = "3.000000"
gamma_out = "2.200000"
deconrr = "-1.000000"
deconrb = "1.000000"
decons = "0.250000"
deconsmooth = "0.250000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
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"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/lut/custom_lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"

Dotty

shaders = "12"
shader0 = "shaders_slang/sharpen/shaders/fast-sharpen.slang"
filter_linear0 = "true"
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/misc/grade.slang"
filter_linear1 = "true"
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 = "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 = "false"
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 = "false"
srgb_framebuffer6 = "false"
scale_type_x6 = "viewport"
scale_x6 = "0.500000"
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 = "false"
srgb_framebuffer7 = "false"
scale_type_x7 = "viewport"
scale_x7 = "0.500000"
scale_type_y7 = "viewport"
scale_y7 = "0.500000"
shader8 = "shaders_slang/crt/shaders/guest/advanced/bloom_horizontal.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 = "1.000000"
scale_type_y8 = "source"
scale_y8 = "1.000000"
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 = "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/crt-guest-advanced.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_border"
mipmap_input10 = "false"
alias10 = ""
float_framebuffer10 = "false"
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"
SHARPEN = "0.150000"
CONTR = "0.250000"
g_vignette = "0.000000"
g_cntrst = "-0.050000"
g_mid = "0.250000"
wp_temperature = "7104.000000"
LUT_Size1 = "32.000000"
LUT_Size2 = "32.000000"
LUTLOW = "12.000000"
lsmooth = "0.750000"
GAMMA_INPUT = "2.200000"
interm = "2.000000"
iscan = "0.350000"
SIZEH = "10.000000"
SIGMA_H = "2.400000"
SIZEV = "1.000000"
SIGMA_V = "0.500000"
SIZEHB = "3.000000"
SIZEVB = "3.000000"
glow = "0.010000"
halation = "0.150000"
brightboost = "2.899999"
brightboost1 = "1.500000"
bogus_scanline = "1.000000"
scanline2 = "12.000000"
beam_min = "2.599999"
beam_max = "0.950000"
beam_size = "0.900000"
vertmask = "0.200000"
h_sharp = "4.200001"
s_sharp = "0.000000"
shadowMask = "7.000000"
maskDark = "0.250000"
mcut = "1.800000"
mask_gamma = "5.000000"
gamma_out = "2.200000"
deconrr = "-1.000000"
deconrb = "1.000000"
deconrry = "-1.000000"
deconrby = "1.000000"
decons = "2.000002"
deconsmooth = "0.100000"
textures = "SamplerLUT1;SamplerLUT2;SamplerLUT3;SamplerLUT4"
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"
SamplerLUT4 = "shaders_slang/crt/shaders/guest/lut/custom_lut.png"
SamplerLUT4_linear = "true"
SamplerLUT4_wrap_mode = "clamp_to_border"
SamplerLUT4_mipmap = "false"
7 Likes

Just a suggestion, but you may want to go ahead and increase both bright boosts to 3.00.

Here’s a quick and easy “dotty” preset, first shot bright boost is 3.00 dark and 1.50 bright, second shot is 3.00 for both

There’s no danger of clipping, either:

6 Likes

That looks better. Often the bright boost reduces color saturation but it is dependent on other settings.

5 Likes

Bright boost and clipping got a lot better with recent updates to GDV, I think. Looking forward to what you can do with the latest version.

4 Likes

Personally I’m a huge fan of that dotty look, tricks the eye better from a distance than alot of the other routes imho.

Also if it hasn’t been made apparent, I lean towards softer images as a whole tbh.

4 Likes

So increasing the scanline beam variation actually increases the dynamic range of the image, you can see it in the greyscale pattern when you’re playing around with the beam shape.

I generally like softer images but I try to keep high contrast edges well defined and maintain the sharpness of small details. I usually use sharpness 3.00 in GDV, sometimes 4.00 if I’m going for a higher TVL look. I don’t use subtractive sharpness or smart edges.

I’m working on two presets now, a low TVL aperture grille and a high TVL aperture grille. They’re both “too bright,” which is a good problem to have; just increase the mask/scanlines or lower the bright boosts.

5 Likes

My “RBG” shader mimics the sharpness of the actual CRT PC monitor I own. In general I do prefer a softer image. I often play on a smaller 14 inch laptop, and being a little lazy, I have integer scaling off so I try to make my shaders work with as little problems as possible with that setup. GDV is great but you can make your scan lines a mess if you are too aggressive with some settings.

5 Likes