New CRT shader from Guest + CRT Guest Advanced updates

Use the error log fam, it’ll make everyone’s life easier.

4 Likes

Thanks for the interlace fix in the hires shader. Have to say the shader looks absolutely marvelous all around :smiley:

For personal preference I would want to tweak gamma in the interlace mode only a bit. Do you use a separate gamma or adjustment for interlace currently? If so could that be made configurable in the interlace section? Or otherwise maybe point me to the relevant code part such that I can tinker a bit myself.

This is just nitpicking, but in a future update would there be a chance to have a switch to turn off the mask when interlace is enabled? It’s a bit nitpicking I know but it would be nice if it would be possible as currently the trinitron mask (setting 0.00) results visually in small vertical stripes when the screen is interlace. (no biggie that’s for sure)

I’m permanently using the 0.00 mask in my setup, just like your preset and think it’s lovely even for gameplaying sessions. Out of interest, what is currently your next best favourite to this mask ? Is it the one you used in this shot https://imgbb.com/hs0q49q ?

Anyway big thumbs up for the current state of the shader, feels really polished now, Can play for hours and not get tired of it :smiley: :+1: :ok_hand:

2 Likes

Isn’t mask (-1) still a thing? Which was no mask iirc

1 Like

Thanks, it’s nitpickiness which made it better i guess. :grin:

I try to avoid too many special circumstances, which, by auto, are not the same as an user would expect or too much sub-settings in general. I believe for interlaced content it should be enough to lower the input/output gamma like 20% and it could look better, closer to ‘linear interpolation’ look.

If you want it to tinker a bit, then it’s starts by adding a parameter in ‘linearize pass’ and a good coding compromise would be for output gamma to be the same as input gamma.

Good point, in fact the new interlacing approach allows it to fix the issue, will be added soon i guess.

Being an 1440p user, mask 0 alone is a bit too fine so i like to add something stronger. Lottes masks or ordinary masks with slotmask is what i like the most.

5 Likes

Mask 0.00 literally just darkens the display at normal playing distance. There is no discernible mask because the human eye cannot see one pixel wide details at normal viewing distance. If you can see the individual pixels you’re sitting too close to the display, by definition. If you’re trying to emulate a high resolution/high TVL CRT, it’s perfect. If you want visible mask effects and something that’s consumer-grade, then Lottes mask 2,3 and mask 8 are your best bet.

3 pixel masks can cause some annoying artifacts (irregular looking pixels) when using a horizontal integer scale that isn’t a multiple of 3, so that’s something to watch out for. I’m too nitpicky to use any masks for playing games on my current display (still can’t let go of my 1080p plasma), I think you need 4K or 6x vertical scale at a minimum to get a satisfactory result.

5 Likes

New Release Version (2021-06-26-r1):

Notable changes:

  • Trinitron mask distribution is better with interlaced modes.
  • Slotmask strength is divided into two parameters for better customisation, especially with trinitron masks. Presets might be re-tweaked, but they should load the shaders without errors.

Download link:

https://mega.nz/file/glAwCLiC#I0yByE5N0VQ-M3PUXhIzDH-tb8jwGebBq5Ql1j7ypds

9 Likes

An example of new slotmask utilization. Had to weight the benefits a bit, but’s it’s clearly a nice new option.

Edit: screenshots are probably best viewed at 100% Dpi Scaling. :upside_down_face:

6 Likes

@guest.r

Have you tried this yet? red, red, green, green, blue, blue, black? Using this pattern in conjunction with slotmask width 7.00, height 4px could produce some nice results at 4K and would be a closer approximation of the black space between slotmask triads.

Would still be about 300 TVL (308.571…) at 4K, good enough for a 15kHz arcade monitor.

1 Like

@guest.r

I’ve been following along for quite a while now, and I hope I can get an honest response here as I love the work you’ve done.

I’m after “Developer intended” Quality, for NES/SNES and PSX (downscaled mode in the core).

I’m not looking for nostalgia, or even emulating a CRT past the positive effects the CRT provides that the developers relied on for their work. The effects of this particular CRT shader is like night and day and it’s amazing.

I’m currently trying to reduce the amount of unnessary additions, things that only really emulate the downsides of a CRT or the nostalgic values. (like fringing/artifacting) while figuring out which things are nessisary for a true image (Svideo filter on NES games causing completely different effects to pixels making some extradentary things like sand looking wavy instead of dots of pixels).

What, in your absolute just opinion, would you consider a good preset for bringing NES/SNES and possibly PSX to their original intended viewing styles while reducing things like scanlines,artifacting,blur to a minimum?

I am currently using the NTSC shader, in S-Video mode for NES/SNES. I have .05 Halation/Bloom. Scanline Type -1

I currently use a IPS 2560x1440 144hz gsync monitor, scanline saturation .25, spike removal at 2. Hor-Sharpness 4.5, sub-sharp 0.5. CRT mask -1. Everything else off/disabled.

I also found your Hi-res shader to be a god-send for PSP, as a majority of the PSP games I play are just PSX/SNES ports with a crappy bilinear filter that gets erased when you upscale the resolution, which brings them back down to raw pixels again which needs a CRT shader to look as intended from their original ports. Except now the internal resolution is not low enough for your original shader, so the Hires one fixed that for me.

Thank you so much for all the passionate work you put into this.

3 Likes

I don’t think “developer intention” is something that anyone can really pin down. There was too much variation among individual CRTs to say any one effect was necessary/intended, and there are too many variations among developers, as well as regional variations (PAL vs NTSC).

I think the most you can infer is that developers were aware of the ways people would see their games and tried to keep those things in mind when designing their graphics. Likewise, you can pick the characteristics that make the graphics look the way you like them, but it’s dicey to try and read the mind of an overworked programmer 30+ yrs in the past.

6 Likes

Interesting insight from the creator of Tails and the creator of Sonic.

5 Likes

What am I doing wrong, here? Only Blargg seems to blend the waterfall properly?

blend mode 1

blend mode 2

blend mode 3

Blargg’s composite filter

EDIT: and here’s the old guest-dr-venom-ntsc-composite preset, still looking good:

4 Likes

Something I find interesting in those shots is almost none of them are properly doing the shield blending, even when the waterfall is properly blended it seems.

1 Like

I think we need a reference shot from a CRT connected to a Genesis via composite to be sure that the shield dithering is actually blended. Only the last two shots look right to me as far as the waterfall is concerned, though.

1 Like

Yeah that’s probably a safe bet, but tbh if it’s a checkerboard pattern with only half being actual color, imho it’s supposed to act like a blend in that situation.

But I’m not actually sure what kind of pattern the shield is using, and am to lazy to check :joy:

Didn’t you just get a new CRT? Buy Genesis, buy Sonic

1 Like

But I’m saving for a mister fpga tho…

EDIT: Should be ordering it 2 weeks, as long as nothing comes up…

1 Like

That’s cool, I want one too. Here’s the guest-dr-venom2-ntsc preset using the S-video preset; seems to blend the waterfall (and the shield?) properly but isn’t that too blurry for S-video?

4 Likes

I thought s-video was just less color bleedy composite, but I’ve never actually used s-video personally or bothered researching it. (I’ve used coaxial, composite, and component inputs before).

Side tangent, most of my pre-ps1 days gaming on a CRT was done with composite going into a VCR, then out of VCR via coaxial to the CRT. (Which is a very different image output than say straight composite or coaxial into the tv.)

I feel like we are kinda lacking in the VCR side of signal emulation.

s-video is too clean to blend dithering, afaik.

1 Like