New CRT shader from Guest + CRT Guest Advanced updates

Fantabulous! It works exactly as i was hoping it would! Tysm!

Interesting aside: the value at which 2 phase’s chroma bleed matches 3 phase’s chroma bleed appears to have changed from 2.55 to 3.20 at some point. Not sure exactly when as i had been using an older version.

2 Likes

Mixed (4.0) phase has the chromatic properties of the 3-phase code, so every new setting meant for 3-phase works there as well. Mixed phase has default and max. 24 taps, but you can try lower numbers also.

It’s a different concept and much more efficient implementation with the last available version, not to forget you can use “taps fall-off” too. But the numbers you mentioned make good sense somehow, as 3-phase sampling width is a “relative 24” and 2-phase a “relative 32”.

4 Likes

Hi @Guest, first of all thank you for your work and for sharing it with the community. It might be a silly question, but I can’t understand the real difference in the “CRT Mask” section, the real difference between mask 0 and its Trinitron version which would be mask 5. Also confirm that they are ideal for 1080p, right ? A thousand thanks.

1 Like

To mask 0 only one mask strength control applies, while mask 5 has 2 mask strength (low and high) controls, plus some mask “brightness” compensation. Otherwise, it’s the same mask pattern. It’s like that mostly because of preset compatibility reasons. Yeah, they have the right pitch for 1080p and very many users use this “display resolution” also nowadays.

4 Likes

Thank you very much, very kind as always. It is therefore clear that mask 0 is preferred to provide a ready-made basic configuration that is compatible with everything. You were very clear, thanks again.

2 Likes

There’s been a recent change on RA to give the shaders access to the real frames between emulated console frames (eg. for shader use of black frame insertion). Not sure if this issue might be related to that in any way, but just wanted to point it out.

3 Likes

There is much to be discovered about this new feature and new BFI possibilities, like BFI patterns, alternate procedures, performance impact, refresh rate limitations etc.

I’m still not 100% sure about the shader interface, so let’s wait a bit.

6 Likes

Sure, agree. I was just pointing out that the new performance issue that you and @sonkun were talking about could perhaps be related to that new RA change.

2 Likes

Whatever that was I can confirm it’s definitely gone now on guest.r’s latest update though.

3 Likes

Note though that there’s other things it can be used for, not just BFI. For example finer-grained phosphor decay. Right now, phosphor decay only happens at the core’s frame rate. If phosphor instead decays at full display refresh rate, it should look more realistic and closer to a real CRT. Smoother phosphor trails.

4 Likes

Currently, I guess, with at least doubled frame rate relative to content, phosphor trails and bfi are mutually exclusive while enhanced phosphor trails would effectively tax the gpu two times more.

Giving it some thought, I would also cherish an alternative implementation, where only the auxiliary preset would be loaded for inserted frames.

IMO it would mean more work to implement it, but the benefits like ease of use would be tremendous, giving perfect control to the shader users and with no need to change existing shaders and presets.

Edit: maybe it’s even doable with current implementation via prepend/append.

2 Likes

When I thought about this before, I imagined it in the context of Mega Bezel with a sort of inverse of BFI, where everything except the freshly-drawn scan lines were on screen the whole time. You still have the base mask, afterglow, some bloom, and reflections, but the scan lines are only there for 1/2 or 1/3 depending on how you have it set.

I imagine this could be difficult to balance brightness for though, as everything else would have to be dimmed evenly to match. Maybe doable with some simple additional settings though.

With some careful tuning I bet this could look really good and convincing. Pixels wouldn’t be going from black to white every other frame, but from whatever the base mask level is to white, and then whatever the afterglow fades to, and so on. You could keep a lot of brightness/bloom/glow while also getting clear scrolling backgrounds.

1 Like

@RetroGames4K Mind sharing your 4K slotmask presets? I think they look absolutely delicious.

2 Likes

So I think the answer is yes and no, separate evaluation of two shader pipelines,where one updates at core rate, the other updates on all subframes would be ideal performance. This would add complexity to the system, and would need some UI tweaks.

You can add an additional pass on the end of a single shader pipeline to do the subframes,buytge pass before would still have to recopy the last frames’s image over every subframe which has a cost :cry:

2 Likes

That’s and old setting I don’t have right now, but I can share my latest one based in the 1080p, when I’m at home I’ll share it with you.

Oh, you don’t use the 4K ones anymore?

1 Like

Yes! But I don’t have the exact settings you mentioned above. So don’t worry. When I can at home I’ll Will share.

2 Likes

No worries! Share your favorite 4K slotmask presets or the one you’re using right now.

2 Likes

hello, i have a problem with crt masks, especially with 6 type in my tv, it happens in all crt shaders which uses a mask which probably is the same as 6, my tv 1080p around 40 to 50 inches experiments the problem of having a vertical magenta rows pattern across all the mask, it is one magenta row, one normal and then one magenta row through all of it, my tv is a bgr layout

1 Like

Hey there!

Regarding shader implementation of the masks, they are OK with current libretro/RA. :smiley:

I’m suspecting, that your PC output resolution might be different from the one the TV has.

Or, your PC-TV connection might not be in full quality, namely Full RGB or 4:4:4.

2 Likes