CRT shader debate

Away from the PC currently, what are using pixelate for in you shader chain?

It’s not really doing anything in that particular image, but I have it as part of the shader chain for when I play PSX games. PSX games can switch resolutions mid-game, so you get scaling artifacts no matter what you set the aspect ratio to. Pixellate fixes the scaling artifacts that occur with non-integer scaling.

check out the images in this post for an example of what I’m talking about.

1 Like

Nice image. Not from a gdm fw900 though. I outa know as I took the image. It’s from a dell ultrascan p991 running at 120hz@240p. Using RetroTINK-ULTIMATE with vga out.

Here, have some more images:

More images can be taken if wanted.

5 Likes

These look really nice! Is this an LCD? The second picture clearly looks like an LCD, but the other two have to be a CRT!

That’s just me having a hard time focusing with my phones camera… Or maybe it is an LCD. I’m experimenting with shaders at the same time on my LCD so it might be from there.

1 Like

Thanks for the pics! The quality of those Dell aperture grille CRTs is really amazing. The scanlines are so consistent that you can only really tell that it’s a CRT and not an LCD by getting so close that you can see the mask.

That’s more or less what I consider “ideal” for displaying 240p content, and is the look I’ve been trying to recreate with shaders.

The biggest problem I’ve encountered is that current LCDs just can’t get bright enough to compensate for both scanlines AND the mask. That’s why shaders try to compensate by adding glow and bloom effects and jacking with color and brightness levels, which compromises the image quality in other ways.

Anyway, here is my attempt to recreate the close up of Mario using shaders. This is just zfast_CRT with a few adjustments, pretty simple stuff. It’s not quite as sharp as the CRT and the scanlines aren’t quite as bold, but it’s pretty close.

It occurs to me that if one is trying to recreate the look of a high TVL CRT using shaders, it’s better to have NO mask at 1080p; the mask/aperture grille on a 1000 line CRT is practically as fine as the LCD grid on a 1080p display.

4 Likes

I’d definitely like to see more. It’d be nice to see some shots from different distances, too. I imagine the mask completely vanishes at anything close to a normal viewing distance?

Have you found a shader setup that is satisfactory to you? If so, please share!

Here you go. Some closeups and a few zoomed. Images from zelda is with a generic 720p overlay at 720p. There are no scanlines without it if you don’t look really close.

The overlay i use is found here: https://mega.nz/#!3kVG1I5J!G7vlvHMCh-4DReRVQI9bD5jFCZpj4tYEp181Bxa8D2w

Found it in this thread:

Here is from my LCD

I’m using crt-royale-kurozumi and crt-royale-xm29. Those are slang shaders that need you to use Vulkan as video driver.

But do share those zfast_crt settings. Looks grate.

3 Likes

It looks like the 720p overlay isn’t quite lining up with the pixels in your first shot (that’s the problem with overlays, they can be tricky to use), but this shot does a good job of illustrating just how close to an LCD a high quality CRT can get. Personally, I find the image on an LCD to be overly sharp, so I like to add a very slight amount of blur. You can also sometimes lower a monitor’s sharpness setting to get the same effect.

Here are the zfast_crt settings I’m using in the above close up of Mario:

shader #0: zfast_crt

shader #0 filter: linear

shader #0 scale: don’t care

alias0 = ""
BLURSCALEX = "0.300000"
BRIGHTBOOST = "1.000000"
feedback_pass = "0"
filter_linear0 = "true"
float_framebuffer0 = "false"
HILUMSCAN = "8.000000"
LOWLUMSCAN = "9.000000"
MASK_DARK = "0.000000"
MASK_FADE = "0.000000"
mipmap_input0 = "false"
parameters = "BLURSCALEX;LOWLUMSCAN;HILUMSCAN;BRIGHTBOOST;MASK_DARK;MASK_FADE"
shader0 = "D:\retroarch\shaders\shaders_glsl\crt\shaders\zfast_crt.glsl"
shaders = "1"
srgb_framebuffer0 = "false"
wrap_mode0 = "clamp_to_border"

I’ve also adjusted my LCD’s backlight to 100% to compensate for the lost brightness from scanlines.

@Nesguy, don’t you like to use the ntsc shader + crt shader?

I haven’t been using the ntsc-colors shader. On my display, ntsc-colors causes the colors to become over-saturated and results in clipping, particularly with red. If your display is already at maximum contrast, then any increase in color intensity is just going to result in clipping.

Right now all I’m using is Zfast_CRT for all systems. With PSX cores I’ve also added Pixellate to take care of scaling artifacts.

Currently, I think it’s best to forego use of the RGB mask so that I can do black frame insertion and 1:1 scanlines. With my LCD’s backlight maxed out, the resulting picture is just bright enough. As far as I’m concerned, there’s not much room for improvement without getting a better display than the one I currently have.

2 Likes

Pardon my intrusion on this thread. I want to know if there is a crt shader that would look like a Sony 32fv310 tv. I saw a video on youtube and 2d retro games look beautiful. Here is the link of the video if someone is interested in creating a shader that looks just like it.

Super Mario World on Sony 32fv310

1 Like

I think many of them look pretty similar to that. Try crt-aperture or crt-guest-dr-venom.

1 Like

Maybe try the Kurozumi presets I think there’s one for crt-guest-dr-venom and one crt-royale, also as hunterk said crt-apeture is a good choice as well.

I tried Kurozumi shader but for some reason it looks a little green.

I tried most of them but they look good when the characters are still but when you move around the scanlines and shadow mask fades a little.

Yeah… You’re not going to get CRT levels of motion clarity at this time. If that’s what you’re talking about?

@hunterk please correct me if I’m wrong.

@crtseeker CRT-Aperture or guest-dr-venom with scanline type 2 are your best bet.

Yes, the mask is going to disappear when anything is in motion due to the LCD’s motion blur. I recommend not using masks at all, TBH. (I’m a horrible person).

At the proper viewing distance (2-3 times the width of the display) for SD content, masks shouldn’t be visible anyway. You can basically define the proper viewing distance as the distance at which the mask is no longer visible.

It’s the same for digital displays. If you can see the individual pixels making up the display you’re sitting too damn close.

Google “Lechner distance” for more info.

To summarize:

  1. if you can see the mask you’re too close to the display
  2. the mask is going to disappear when there is any amount of motion on an LCD
  3. LCD displays already struggle to maintain sufficient brightness and contrast just when applying scanlines. The mask just makes it so much worse.

In about 10 years we’ll have quantum dot emissive displays with enough brightness to do black frame insertion, scanlines and masks while maintaining an adequately bright image. Even then, there’s little point in adding the mask since it shouldn’t be visible at the proper viewing distance, anyway. There are certain situations where adding a mask can improve the objective picture quality by providing better shade separation at the high end but it’s not worth the loss of brightness IMO. On my display, the mask doesn’t have any appreciable impact on the objective picture quality unless I increase the mask strength to levels that are high enough to cause a significant loss of brightness.

Edit: also, you can pretty much disregard most of my old posts in this thread. I’ve learned a lot the past couple years and my views have changed considerably.

1 Like

Why? Does it have to do with lcd technology or crt shader limitation?. I also read that with an 8k monitor or tv crt shader will look better. Will it be real crt level of improvement with 8k?

I mean the scanlines becomes a little blurry for a second then returns and when still it preserves its sharpness and detail.