New CRT shader from Guest + CRT Guest Advanced updates

A lot of discussion here regarding the mask arrangement , I’m not as versed on the subject as the more experienced folk here but I can’t help but to notice how some crt displays has incredibly crisp mask and quite subtle non-distracting scanlines, all while maintaining somewhat close colors to the raw pixelated image

imgur album

https://imgur.com/a/9PMmemR

1 Like

You mean like this?

Mask bloom works better with increasing the saturation a bit, but you can compensate with at least 3 mechanisms:

  • change the color space
  • saturation
  • ntsc saturation

It’s a part of fine-tuning your preset and i generally don’t want to estimate auto-corrections, because they might become something stubborn and hard to deal with.

Gamma correct is excesivelly used to correct brightness, it’s purpose is to improve contrast. There are other mechanisms to boost the brightness:

  • early brightness control
  • ntsc brightness
  • post brightness
  • bloom distribution
  • mask gamma (with mask bloom)

If you crank gamma correct up too much withour a proper need, it will also destroy contrast. It’s not a magic wand tool lol. :smiley:

It’s mostly in the filtering section of the parameters, but there should not be this much of an issue with it if you use other means to set brightness and contrast.

It’s a sort of problem where the scanlines interact with the slotmask. As you mentioned it, milder scanlines help. Usually a display with greater resolution also. It’s unavoidable though, maybe a clever use of integer scaling mitigates the problem, but not with all combos of input and output resolutions.

4 Likes

@guest.r

Hello BOSS thx very much for all your work…

maybe can be good in the future to have a kind of OPTIMAL settings by default for 1080p and one for 4k. .??

i don’t know if it’s possible for you ?

thank you again because your shader is awesome… and every people here seems to be very happy.

1 Like

Thanks for the advice :grin:. But there’s something I’m doing wrong and can’t get better image than the posted above of Super Mario 64 .Can you help me with the mclip? I use it at 100% because it looks almost the same, but I can’t make the horizontal scanlines the same, no matter how hard I try or I shouldn’t use mclip ar max settings?. I think if I solve that, I will already got it to look the same. Thanks for your patience and comprehension. :sweat_smile: New CRT shader from Guest + CRT Guest Advanced updates

2 Likes

Can’t get better than this… Shall I post my settings, and see if you can help me? :pensive:

3 Likes

What’s the vertical resolution, you’re running your N64 Core at? If it’s 240p, you’ll get visible scanlines, if it is 480p or in other words if you’re upscaling the internal resolution somewhere, you won’t get clearly visible scanlines.

I already tried early brightness control but it clips immediately as soon as I raise it a bit, so I can’t make it useful.

Post brightness has a weird effect where it hides the scanlines in the mid-range, the same way as Bright Boost Dark/Bright Pixels do if I crank them up too much. I don’t know why this happens, so I’ve been avoiding those settings.

Bloom distribution helps a bit, but it’s just a small amount of how much brightness needs to be corrected.

But thanks for the help! :slightly_smiling_face: I’ll try to control saturation with the controls you suggested and keep fiddling to try and calibrate brightness and gamma.

I don’t understand the purpose of mclip. It doesn’t change anything in my picture until the moment where it starts clipping the highs to show the mask. Clipping completely ruins the picture so I don’t know what it’s meant to be used for. I also saw @guest.r lowered it on his slot mask preset.

Also, I’m using Mask Bloom because @guest.r recommended it a few posts back. And it’s also the kind of bloom he’s using on his slot mask preset. But maybe I should use standard bloom instead?

1 Like

Please do! I need to see how others deal with brightness and gamma adjustments on slot masks.

2 Likes

He recommended regular Bloom for Slot Masks and Mask Bloom for other Mask Types.

So far, every time I set Mclip to 1 it looks similar to Bloom at 0 in my presets. Although the "phosphors’ look purer, the image looks worse so I live with my Bloom and leave Mclip alone at 0.50.

In the past I was able to get rid of the whitish haze that Bloom applies to the " phosphors" by using relatively low Gamma In/Out settings but overall I prefer how things look with Bloom enabled and higher Gamma In/Out.

I think if you want a 100% accurate experience by disabling Bloom in order to try matching the look of a real CRT, you’ll end up with issues where brightness is concerned, so you’ll need to compensate by having an extra bright screen with the brightness cranked all the way up, which seems to be par for the course with “accurate” CRT Shaders and Presets.

If you want great looks which can look virtually identical to a real CRT from reasonable viewing distances without having to simulate the Sun using your backlight, using a touch of regular Bloom with MClip at 0.5 works wonders.

When I read your mclip @ “000000”, I actually thought that it was at 1 instead eh. My apologies for any confusion. I haven’t tried it at 0 so I wouldn’t know what to expect, I doubt it would mess up the Bloom at 0. If it’s at 1 it will kill the bloom in my experience, using my settings.

2 Likes

I’m runing Nintendo 64 with ParaLLEI N64 core.It’s in it’s default resolution 640x480. I set the internal resolution Y: 224p/240p option in the shader to number 1. Sorry I forgot to mention that this Super Mario 64 is emulated on the Dreamcast. I haven’t got an original N64, and that’s the result. So maybe Dreamcast is emulating it bad too. But that’s how it looks on the dreamcast. And I want it to look the same. But if that’s not correct, I’ll do it in the original way…:sweat_smile:

1 Like

This is a significant factor in the scanlines and phosphors looking different. You’ll have to set it to a lower resolution if possible if you want to get similar scanlines to the Dreamcast + Sanyo CRT TV combination.

Not sure if this will do the trick. It doesn’t seem to be.

https://www.reddit.com/r/Games/comments/4vgd91/contrary_to_popular_belief_very_few_n64_games_ran/?utm_medium=android_app&utm_source=share

Screenshot_20220725-111509_Wikipedia

Based on these articles the Dreamcast seems to be doing a good job at least where the resolution is concerned because you can clearly see the scanlines which is reminiscent of 240p mode running on a CRT TV.

2 Likes

The ntsc version requires a tad more tweaking regarding brightness, but i can easily find some settings which are quite pleasing. But i understand what seems maybe trivial to me is not this trivial for users who are still learning some tricks.

If you got some saturation surplus and lack of brightness then you can also raise output gamma np. It works differently compared with gamma correct and maybe you could like it better.

Using masks with strengths lower than 1.0 is also a decent option to gain brightness.

I assembled a sortoff normal ntsc preset with slotmasks:

bloom = "0.800000"
bloom_dist = "1.250000"
halation = "0.100000"
gamma_c = "1.200000"
brightboost = "1.250000"
brightboost1 = "1.250000"
shadowMask = "6.000000"
maskstr = "1.000000"
mask_layout = "1.000000"
slotmask = "1.000000"
slotmask1 = "1.000000"
slotwidth = "3.000000"
double_slot = "2.000000"

Looks like something i can use for gaming without much thoughts. But i also test it on a display set at about 380-400 nits and this can make a huge difference. Display gamma is also important, together with contrast. Assuming that all displays produce very similar results can lead to some sort of missunderstanding. A perfect example for this is the very nice megatron shader where the right display makes all the difference.

3 Likes

Ok. I’ll try, if it’s not working I’ll post images without scanlines, :sweat_smile:

2 Likes

Here is also an example of vanilla ntsc shader filtering:

test

it appears there is some sort of halo and it results from luma/chroma encoding/decoding and distribution the ntsc shaders do.

The effect is quite complex and has strong background in real hw signaling. It not something to be tackled though.

I also tested blargg’s ntsc composite filter with HD version and the results are similar:

test1

Shader without ntsc (hd version):

test2

The effect has not so much to do with brightness controls, although it migh be more pronounced with some settings.

4 Likes

My sanyo CRT, looks more like the HD version. It has not got those interferiences or halos, but blargg’s filter has got RGB and makes the colour better like RGB scart, Where can I get blargg’s filters, I know there are in Mega Drive and Snes versions, but there’s no option in 32, 64 or 128 Bits. I read about there’s an option in retroarch, but is not working properly, the aspect ratio comes really bad. :confused:

2 Likes

If I can I’ll post it later. I’ll want to try with the HD Version. i was trying with the NTSC… :grinning:

2 Likes

That’s just due to one of the filter settings plus I’ve seen that the filter generally creates a slight horizontal squishing of the image which I resolve by cropping 0.5% off the left of the screen and 0.3% off the right of the screen.

That correction is baked into my shader presets which are labeled “…for Blargg…”. I also use my “…for Blargg…” shader presets to pre-sharpen the output quite a bit before Blargg works its magic. I’m pretty satisfied with the results.

You can get my custom Blargg NTSC Filter Presets in my Shader Preset Pack here:

They don’t work with all cores’ outputs but the issue where on some cores the screen just looks all wrong is just a setting that needed to be changed and I think my filter presets (at least my Sega Genesis filter presets) addressed that.

It’s good to know that CRT-Guest-Advanced-NTSC produces an output that is so similar to Blargg NTSC filters. I’ll definitely keep trying it out from time to time to see if I can master it’s controls and settings.

There are a couple reasons I use Blargg though, one of which is that it is a CPU based filter so my theory is that it might free up precious GPU resources that can go towards the intense HSM Mega Bezel Reflection Shader and I also lament that most of the time my CPU is way underutilized at the same time.

Plus it allowed me to compartmentalize certain effects in a more modular fashion. To have custom Genesis output for example which might be slightly different from Turbo Duo and I can add de-dithering to HSM Mega Bezel Reflection Shader presets that don’t include it, such as the STD presets used by @soqueroeu.

Another reason is that I sometimes like doing things differently from the norm.

2 Likes

Well you got it pretty close already using the NTSC. Isn’t there an option to lower the N64 Core’s Internal Resolution to 320 x 240 to accomadate your scanlines?

1 Like

Thanks. and Yes, there is an option in the emulator. I will try it, and see what happens…:sweat_smile:

1 Like