New CRT shader from Guest + CRT Guest Advanced updates

New Release Version (2023-07-17-r1):

Notable changes:

  • Base Mask strength feature interactions improvement

Download link:

https://mega.nz/file/VlggDBqL#VcC0f2xGZNrztTomUpyBn6IRV7RPF3XdKF-PhZEf1Qs

15 Likes

Masks look stronger, I like this new version :heart_eyes:

7 Likes

Hey @guest.r. So I’m still in the lab tweaking and I notice something with the new base mask setting on interlaced content, it displays a bit brighter than it does on non interlaced content. Here’s an example with the setting turned up to 0.08 on non interlaced:

Same setting on interlaced:

Going back and forth you can see the difference.

Would it be possible to add in a setting to control the brightness level of that base mask setting strictly on interlaced content? I guess it’s a similar request to how you added that “laced brightness” setting in not too long ago. I want both interlaced and non interlaced content to match each other in brightness using the same number values when using the base mask strength setting.

1 Like

I tested it with the HD version out of precaution and the base mask strength produced the same results with normal and interlaced modes.

The code itself is quite independent from other effects on how it works on black backgrounds, unless something or some code alters the black levels.

Maybe new grades color quantization influences the base black levels, which could explain the differences between normal and laced.

Anyway i don’t think i should rush to “fix” (without more testing) it since it would only create a new set of strange circumstances.

2 Likes

Seems there’s some oddities regarding how deconvergence interacts with the Glow parameter. Here’s GDV at mostly default settings, only turning Glow off:

To show what I’m talking about, I’m going to set vertical deconvergence for all three beams to -15.00, the maximum. With strength set to 1.00, this simply results in the entire image being shifted downwards. There’s some weird behavior when said strength parameter is changed, but that’s another topic. In any case:

However, when Glow is added, it seems to light up where the pixels are supposed to be pre-deconvergence, not where they actually are. Here’s what that looks like with regular Glow set to 0.08 strength:

Magic Glow fares similarly:

Obviously this is an extreme example, but I thought I’d showcase it anyway. Ideally, Glow should activate wherever the beams are active.

2 Likes

There’s not much i can do about it as glow is calculated on a pre-deconvergence original image. My advice is to not abuse the settings.

Currently i’m not thinking to add post-glow as, although doable, it’s not worth the trouble.

4 Likes

Thank you for finding this! We need more people who do a good job testing. Obviously, you read what guest.r said and it is understandable that it is needlessly complex to fix. :+1:

1 Like

Yeah, it would need approx. 2 more viewport size passes, performance would be reduced and even the same perceptual quality of the effect would have a much higher performance cost.

I say it’s a very bad tradeoff for something that already works quite satisfactory with regular circumstances.

There are dozens of features in the guest-advanced shader and i keep a stern eye that some of them don’t get to privileged in terms what they have to offer. :wink:

4 Likes

I think you’re right, there’s this setting in new grade called “CRT Lambert Refl. in %”, once I turned that all the way down the issue seemed to fix itself. I don’t think it’s something to bring to Dogway’s attention so I’ll just go back to my tweaking. Thanks guest.

3 Likes

This could be just an optical illusion due to the presence of the scanlines. Or simply an interaction between the scanlines and the mask.

I agree that more testing should be done before any adjustments should be made.

This shouldn’t be surprising, aren’t the lit phosphors which make up the image being shifted downward when deconvergence is set to -15.00, max strength?

Interesting observation.

Makes sense.

This is probably why I never noticed this. My (Magic) Glow usually tops out at -0.4 and my Deconvergence doesn’t usually go above ±1. It’s usually ±0.50 or ±0.25 with strength not exceeding 1.4, which I consider a very high number.

2 Likes

Adding a new ‘phase’ mode to the NTSC shaders:

What do you guys think?

Also need some popular vote on keeping the sharpening pass in the NTSC preset. Speak your oppinions… :smiley:

5 Likes

I like the sharpening pass unless there is a significant hit to performance or it is redundant.

3 Likes

Looks good to me. It kinda looks like what one would go for if trying to reproduce that famous NES CRT screenshot featuring the rainbow effects. For the NES shot it looks correct but I’m not so sure about the others but then I’m not an authority on these things. I merely make CRT Shader Preset with limited technical knowledge and regard for accuracy.

Does it make it easier or more practical to recreate things like “rainbow artifacts”?

I think I must agree with @BendBombBoom. I know many of my older (but not obsolete) Mega Bezel presets rely on this heavily.

After a while I started using it less, then when I recently tried standalone CRT-Guest-Advanced-NTSC I had started using it again.

But if it has to go and there are better alternatives then you would be the best judge of that.

3 Likes

Ntsc looks really good. About the sharpness, keep the setting, I like sharpness, I prefer sharpness than blurry. Apart it would be a good Idea to implement Pal Scart RGB mode. I don’t think how this works, I’m just giving Ideas :sweat_smile:

3 Likes

OK, the sharpening pass will stay included in the preset. It’s quite light and i’m glad to hear that it’s being utilized.

The idea behind the new ‘phase’ is mostly to being able to resolve dithering/bar patterns on Nintendo systems and systems like Amiga while keeping the color artifacting.

Ofc. it’s not prohibited to use it somewhere else.

I also think that i should remove some workarounds in the ntsc shaders, every setting should be directly appliable without choosing the -1.0 (custom) preset first. It’s quite confusing now if someone doesn’t directly know the trick. It’s just changing two values against one in previous implementation, i guess nobody will get their fingers burned.

5 Likes

This is beautiful! If time permits can you also implement a setting/preset that does the same for TurboGrafx16/PC-Engine?

This is something that I’ve somewhat managed to accomplish by sheer trial and error, experimentation and perhaps luck?

I’ll post a couple example screenshots below. This should help get some additional shades/colours.

Potential Spoiler Alert

Of course these are after my somewhat successful attempts at blending the dithering while maintaining sharpness but the raw versions have some very obvious dither patterns.

Then there’s the Lord’s of Thunder waterfall which doesn’t really bother me that much to be honest but it is a classic case of dither patterns being used to simulate transparency/translucency effects on the Turbo.

3 Likes

Yeah, dithering patterns should get dissolved with other system games too, no worries here. Meanwhile i’m doing some kinky stuff regarding color artifacting:

10 Likes

Speaking of phosphors being the source of all light effects, I’ve been using a preset driven primarilly mask boost.

I’m away from my computer as of writing this but here are the key settings.

Mask = 11
Mask Size = 2
Mask Strength = 1.00 (both)
Mask Scale = -2
Mask Boost = 2.00
Mask Gamma = 1.15
Dark Boost = 0.40
Bright Boost 0.50
Halation = 0.25

NOTE: I have not updated the shader since my last post.

EDIT: Fixed typo caught by @Cyber.

4 Likes

A little typo here.

These settings definitely look balanced towards preserving the Mask (and emulated phosphors) and letting them do the work while still getting sufficient brightness without resorting to any exotic techniques like turning up the brightness on the display for example. (Chuckle)

I guess that’s trending these days. @Nesguy would be proud.

3 Likes

Yep, definitely looks NC-17 to me.

2 Likes