New CRT shader from Guest + CRT Guest Advanced updates

I did try, but non of them seems work, and if it work it will make another problem!

I think I see why DevilSingh said that “EVEN/ODD scanlines is missing” CRT-Guest-Advanced, HD and NTSC for ReShade!

I think EVEN/ODD scanlines aka separate fields is how real TV work, so this will be fixed

maybe it can be added as interlaced mode=-1 and it should make 480 as 2 “240p” internally, which means every setting that affect 240 will affect 480

I try to avoid some really exotic solutions based on “how a TV really works”. If you want scanlines with higher resolution, you should use the internal resolution feature found under [ INTERLACING OPTIONS ].

Odd/even scanlines are something else, has nothing to do with temporal blending, just the blending bias is switched from original resolution to viewport resolution. Nothing fancy, it’s sortoff a fool’s gold of the scanline implementations.

1 Like

I did end up using “shaders_slang\misc\bob-deinterlacing.slangp” first and then append my preset (with default interlaced mode=4) and it kinda perfect now!

edit: seems bob-deinterlacing.slangp case image shifting! so I switch to shaders_slang\misc\deinterlace.slangp

2 Likes

I’m glad it worked out for you. Maybe it’s a good solution for other user too.

2 Likes

If you play with Retroarch options:

Settings -> Video -> Synchronization -> VSync Swap Interval

this can also improve the interlacing experience. Best use it with VSync ON.

2 Likes

New Release Version (2025-08-24-r1):

Notable changes:

  • Old: Display P3 gamut support added.
  • Old: DCI-P3 white point correction.
  • Old: Ntsc rainbowing feature vertical fidelity improvements.
  • Old: Small optimization.
  • Old: Better NTSC rainbowing modes 2&3.
  • New: “Show Original Image” option added to most versions.
  • New: “Vertical Image Shift” option added to most versions.

Download link:

https://mega.nz/file/xsgxTKAR#93dvbv-3KTr0dQoI56TAQrzHJw1Gr7FVtJ1JR0MejJk

15 Likes

Is there anywhere that explains what each of the masks are?

2 Likes

Hey!

Aperture masks are (for 1080p): 0, 2, 5, 6, 9 (RGB) and 7 & 8 (not RGB, but black-white)

High TVL of these are: 0, 5, 7, 9

Lower TVL are: 2, 6, 8

You can use slotmask with any of these, just increase both strengths. Maybe you can lower the slotmask height for 1080p + scanline mode.

Mask 1 is already a RGB mask + low width slotmask, just to mention it.

Mask 10 is an aperture style RGBX mask.

Mask 11 is a 4-width aperture mask.

Mask 12 is a 7-width RRGGBBX aperture style mask.

Mask 13 is a 6-width aperture mask.

Mask zoom can be used to enlarge or shrink masks, one should a bit explore the feature, it’s more or less worth the time.

Aperture masks can be turned into shadow-masks, it’s important that the total mask width is 2,4,6…

Mask zoom can help here, since it changes “total mask width”.

9 Likes

Thanks for the write up! Mask 12 is suitable for 4k right? with the smaller masks raising mask zoom would be necessary for 4k i imagine? And what are masks 3 and 4 then?

2 Likes

Yes, vanilla mask 12 is good for 4k. Mask zoom can always help, especially with 4k.

Mask 3 is a special horizontally streched shadowmask, where mask 4 is an ordinary shadowmask (nice for 4k also).

Masks 1-4 are so-called lottes masks, which are managed by alternate (maskLight, maskDark) mask strength controlls.

5 Likes

im trying to understand the how bloom and glow and magic glow differ exactly. like, i can see a difference in effect but i cant put my finger what each is doing exactly.

also there isnt an up to date readme or guide anywhere is there? i feel silly having a lot of questions other people seem to just already understand.

2 Likes

speaking of masks, is there are a way (option) to make the RGB mask (5 & 6) act like black-white (7 & 8) based on how flat area are? which mean in edges or details (especially if it has different colors) will be 100% mask 5 or 6 and in full flat area will be 100% (or even 90% is fine) black-white (7 or 8)

1 Like

Ordinary Glow is mostly manifested on very dark background, with a wider spread compared with bloom.

Bloom passes contribute their effect to Bloom, Halation and Mask Bloom. These are mask mitigation techniques, for example set mask strengths to full and then add one of those effects or more of them…

Magic Glow is exclusive with ordinary Glow, it falls back to Glow shader passes (number of TAPS, sigma), it can be used similar to ordinary Glow, contrast enhancer or a mask mitigation technique, depends, what you have in mind. You can also add haloing effects to pixels, make the image bloomy…

Default parameter setup of Magic Glow is contrast enhancement, just saying.

Quite a while ago i tried some different mask effects on the same image and it didn’t feel appealing. One of the viable ways to use different mask “setups” on an image is that masks comply with curvature (currently they don’t), but this is more or less a 4k thingie and lower TVL bound.

4 Likes

Suitable is relative, because of the type of look you are going for. The size of the host display matters too. Mask 12 without zoom will actually result in a somewhat coarse pitch even on 4k.

In the context of realism, it roughly should match something like a 4k laptop emulating a small TV.

If you use the 2 pixel masks (like 0) on a big 4k TV, it would be something like an unusually large, low pitch PC monitor. It wouldn’t bother with thinking about this too much if you don’t have specific matches in mind and just experiment a bit.

3 Likes

This is what I gathered from the post?

# Resolution TVL Mask Width
0 1080p RGB High Aperture low width
1 Slot
2 1080p RGB Low Aperture
3
4
5 1080p RGB High Aperture
6 1080p RGB Low Aperture
7 1080p Black-white High Aperture
8 1080p Black-white Low Aperture
9 1080p RGB High Aperture
10 Aperture RGBX
11 Aperture
12 4k Aperture RRGGBBX 7-width
13 Aperture 6-width
6 Likes

Thanks for the template, @yuzqailo. :sunglasses: I made some changes and added some info.

# Resolution TVL Mask Width
0 1080p RGB High Aperture Mag-Green 2-width
1 1080p+ RGB Med Slot RGB 3-width
2 1080p+ RGB Med Aperture RGB 3-width
3 1440p RGB Low Shadowmask-low profile RRGGBB 6-width
4 4k RGB Low Shadowmask RRGGBB 6-width
5 1080p RGB High Aperture Mag-Green 2-width
6 1080p+ RGB Med Aperture RGB 3-width
7 1080p Black-white High Aperture BW 2-width
8 1080p+ Black-white Med Aperture BWW 3-width
9 1080p+ RGB High Aperture Mag-Green-X 3-width
10 1440p RGB Med-Low Aperture RGBX 4-width
11 4k RGB interpolated Med-Low Aperture 4-width
12 4k RGB Low Aperture RRGGBBX 7-width
13 4k RGB interpolated Low Aperture 6-width
21 Likes

I add that TVL for Aperture is defined here by dividing Resolution by Width. Suitability for Slot and Shadowmasks is a bit trickier because of the variable heights/mask transform parameter, the content res and on how scanlines are set makes a huge difference.

For example, on my 1504p laptop I use 3- width aperture masks for slot with height 2 for 240p, but that doesn’t really work for 480p (scaling factor is just 3, so 1.5 relative to height). I set slot height to 3 and have mild/ no scanlines only in that case (more realistic anyway).

3 Likes

a white pixel takes exactly one triad to draw if the signal strength is irrelevant, so you can calculate theoretical TVLs from this. E.g., for RRGGBBX at 4k: 2160 pixels / 7 pixels for the mask = ~308 TVL

2 Likes

I’m currently happy that it’s commonly accepted that the mask width defined in shaders correlates with TVL. :wink:

2 Likes

It looks great on a big screen TV from a relatively far viewing distance though. Although if comparing phosphors vs pixels on many CRT displays including arcade displays the phosphors might not align as well with the edges of the pixels on many graphical elements compared to a slightly higher TVL mask.

Just to add to what @guest.r and @yuzqailo posted:

3 Likes