Please show off what crt shaders can do!

It’s very interesting that you would mention this at this time because this is exactly one of the things I’ve been working on over the past 24 hours.

I also came full circle while playing around with some of the mask settings and ended up making a new Trinitron preset and couldn’t help but admire those pronounced and uninterrupted scanline dynamics once again.

The Magic Glow seems to help with transitions as well, giving a nice taper to the vertical edges of the phosphors allowing them to fade out more gradually and gracefully.

If you zoom in on these screenshots and focus on brighter graphical elements you can see this especially where they meet darker backgrounds.

Don’t forget to take in the scanline dynamics while you’re at it.

20230329_220514

5 Likes

Tried gdv-mini with grade as 1st pass (hue, color temp, color profiles, contrast etc) and it can look really good.

8 Likes

Grade is such a sexy shader

1 Like

Nicely balanced. Settings for these shots?

Is this at 4x or 5x scale?

Well the original DOS game size is 320x200 so it is scaled 5.4 times to fill 1080p.

   shaders = "2"
    feedback_pass = "0"
    shader0 = "shaders_slang/misc/shaders/grade.slang"
    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/crt-gdv-mini.slang"
    wrap_mode1 = "clamp_to_border"
    mipmap_input1 = "false"
    alias1 = ""
    float_framebuffer1 = "false"
    srgb_framebuffer1 = "false"
    scale_type_x1 = "viewport"
    scale_x1 = "1.000000"
    scale_type_y1 = "viewport"
    scale_y1 = "1.000000"
    g_crtgamut = "-4.000000"
    g_space_out = "1.000000"
    g_hue_degrees = "-3.000000"
    g_I_SHIFT = "0.020000"
    g_Q_SHIFT = "0.010000"
    g_vstr = "45.000000"
    g_cntrst = "-0.150000"
    brightboost = "1.500000"
    sat = "1.300000"
    beam_min = "1.600000"
    h_sharp = "2.400000"
    shadowMask = "9.000000"
    warpX = "0.020000"
    warpY = "0.040000"
    textures = "SamplerLUT1;SamplerLUT2"
    SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
    SamplerLUT1_wrap_mode = "clamp_to_border"
    SamplerLUT1_mipmap = "false"
    SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
    SamplerLUT2_wrap_mode = "clamp_to_border"
    SamplerLUT2_mipmap = "false"
1 Like

360 and 540 TVL. Shouldn’t the scanlines be thinner too if 540 TVL? :thinking:

5 Likes

If by scanlines you’re referring to the visible lines, then yeah, they’re thinner on higher TVL displays.

1 Like

I would like to know, with psx does anyone else has problems dealing with the constant res switches of different games?

Love my Trinitron colors, so i took the time to create a profile that matches that colors, scanlines and mask as much as possible. Check this out if you are interested. 90% there, ofc can’t match CRT brightness and mask intensity on a normal LCD screen.

shaders = "2"
feedback_pass = "0"
shader0 = "shaders_slang/misc/shaders/grade.slang"
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/crt-gdv-mini.slang"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = ""
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "viewport"
scale_x1 = "1.000000"
scale_type_y1 = "viewport"
scale_y1 = "1.000000"
g_crtgamut = "3.000000"
g_hue_degrees = "-5.000000"
g_vignette = "0.000000"
wp_temperature = "6804.000000"
g_sat = "0.400000"
g_satr = "0.260000"
g_satb = "0.500000"
wlr = "0.900000"
wlg = "0.950000"
wlb = "1.600000"
gb = "0.050000"
bg = "-0.100000"
gamma_out = "0.400000"
brightboost = "1.500000"
scanline = "10.000000"
beam_min = "1.500000"
beam_max = "2.000000"
shadowMask = "2.000000"
textures = "SamplerLUT1;SamplerLUT2"
SamplerLUT1 = "shaders_slang/crt/shaders/guest/advanced/lut/trinitron-lut.png"
SamplerLUT1_wrap_mode = "clamp_to_border"
SamplerLUT1_mipmap = "false"
SamplerLUT2 = "shaders_slang/crt/shaders/guest/advanced/lut/inv-trinitron-lut.png"
SamplerLUT2_wrap_mode = "clamp_to_border"
SamplerLUT2_mipmap = "false"
9 Likes

Wow that looks great! With Black Tiger, one of my all time favorites!

3 Likes

This looks very awesome m8!! Nice and bright aswell :smiling_face_with_three_hearts:

2 Likes

I started over with my Look-Up Texture, it is a lot more simplified now with better, cleaner results. I’ve strayed away from making huge (value) gamma changes, because I believe that is not necessary when the OS and monitor gamma of a user are properly calibrated. That’s not something that should be done in a shader. However, I still think my LUT makes a decent difference with warm and cold color contrast. Which I think looks great.

Download: https://github.com/frankschoeman/kyubus-shader

The latest version includes a RetroArch native preset! Featuring crt-guest (displayed above), Reshade is not needed.

12 Likes

Oh wow what a surprise to see you here, I literally mentioned you the other day in my thread that you had an amazing looking shader (I saw your youtube videos) and then you pop up here lol. I love the look of those screenshots.

4 Likes

For a change I gave ps1 upscaling a go, I have a relative old configuration and I like to keep my cpu not in performance mode, with this settings (4x internal res + 2x SSAA + PGXP + shader) is rock solid! I’m on a 1080p monitor and noticed that I cannot see much difference between 4x and 5x. here some shots:

7 Likes

An oldie but goodie preset:

Just thought I’d share some images of various TVL presets. These are using the NTSC S-Video GDV preset, with full strength masks and a touch of deconvergence:

270 TVL

360 TVL

540 TVL

1080 TVL

As you can see, I tried my best to get them all at close to the same brightness level. Of course, just like on real CRTs, the higher the TVL, the more pronounced the scanline gaps become.

3 Likes

PVM enthusiasts, look at this and save it for yourselves.

For everyone: is there a way the replicate that splendid shape of the brighter pixels?

https://www.instagram.com/stories/retrobigini/3074861099538078842/

3 Likes

If you’re referring to the dynamic elongated oval shape. That shouldn’t be too difficult. The RGB mask giving way to white can also be simulated.

Here’s an example of some scanline dynamics with some added Magic Glow.

20230329_220514

3 Likes

Some time ago i did “crt-beam” shader to recreate that exact effect. Check it out, GLSL only at the moment. Use “integer scale” on in video-scaling.

Try this

shaders = "2"
feedback_pass = "0"
shader0 = "shaders_glsl/misc/ntsc-colors.glsl"
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_glsl/crt/shaders/CRT-Beam.glsl"
filter_linear1 = "true"
wrap_mode1 = "clamp_to_border"
mipmap_input1 = "false"
alias1 = ""
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
Scanline = "0.600000"
weightr = "0.230000"
weightg = "0.134000"
weightb = "0.080000"
blur = "0.800000"
glow = "0.200000"
mask = "0.000000"
sat = "1.300000"
contrast = "1.000000"
WP = "-20.000000"
6 Likes

This is entirely an artifact of the camera as far as I know.

2 Likes