New CRT shader from Guest + CRT Guest Advanced updates

Yeah, these shaders are single pass shaders which, due to increased WinUAE output multipliers and beamracing, work much faster if fast input gamma of 2.0 is used.

This means gamma ops. like color = color*color instead of color = pow (color.rgb, gamma.xxx). So 2.0 is like base gamma and output gamma impact is relative to this value.

3 Likes

That explains it then, thanks. Btw, I couldn’t get the new interlaced shaders to work properly with beamracing. It’s not that important actually, but if you could give me a few pointers I’d be interested to try them (but ultimately I’m gonna use the A2080 anyway).

2 Likes

Yeah, scaling in interlaced mode seems to be off and some other issues. I guess it’s not a top priority for Toni to fix it before the new official version is out, but will probably mention it later in my shader thread. :smiley:

If i go trough the naming scheme a bit, SmartRes shaders work with every internal resolution combo, but only the HiRes versions keep horizontal details. Interlaced shaders don’t skip lines and preserve vertical details. But it’s recommended with new WinUAE (beta) versions to use different shaders for standard and laced content.

You can use the A2080 for normal mode and there is a bunch of viable options for the laced mode, but you can try the CRT-Guest-SM-Hires-SmartRes-Interlace-dense.fx or CRT-Guest-SM-Hires-SmartRes-Interlace-no_scanline.fx as something standard to use.

2 Likes

Cheers, and like you said, as most games and demos don’t use interlacing (except for maybe a few static loader screens), it’s not very important.

Btw, these are the only occurrences I can remember from many years of Amigaing :slight_smile:

Games: Shadow of the Beast (static intro picture), Fish! (static intro picture), Hollywood Poker Pro (yeah…), the updated versions of all Magnetic Scrolls adventures with the windowed interface (I much prefer the originals)

Demos: Spaceballs – 9Fingers (loading screen), Andromeda – Seven Seas (last scroller part)

1 Like

New Release Version (2022-12-07-r1):

Notable changes:

  • scanline saturation has now 2 operating modes (one for positive, other for negative values), current presets aren’t affected by changes.
  • substractive sharpness parameter value increased to 2.0 (standard, fast, fastest versions), the filtering with this mode is improved.
  • edit: some finesse tweaking

Download link:

https://mega.nz/file/hp5WQKxD#-kp0fn5FgXwyK53K5u6JJMxt6rQ-owr5J4vGdAOAYrg

16 Likes

Nice. First I see a YouTube video about my shader presets and now a new shader update from the man himself, what a good day to be on the forum. I’ll be checking this out real soon thank you for always improving this shader guest.

What exactly is the difference between negative and positive values for scanline saturation?

2 Likes

I updated the above shaders with some minor refinement tweaks, just to mention it.

Positive scanline saturation is the old implementation (a bit stronger, compared with new), while the new, negative, implementation saturates more on the edges and less in the middle of the scanline. It depends on preset priorities which one to use i guess.

Here is an example of the new feature upgrades, like cleaner edges and scanline saturation:

11 Likes

12 posts were split to a new topic: NTSC shaders redux

2 posts were merged into an existing topic: NTSC shaders redux

Hey @guest.r, a couple of questions.

What would be the way to achieve a “3-2-3 pixels per scanline” pattern, instead of the 2-1-2 of your slot? I’ve tried various combination, with different masks, but haven’t found the right one.

Do you think it would be possible to further reduce the visibility of the other subpixels when the predominant colour is used? Like, for a full red, make the green and the blue even less noticeable ?

I would like to achieve something like this photo: https://www.instagram.com/p/Cl86a1vI9Vw/

2 Likes

In general, slotmask width should match the current mask width. Density of slotmask is determined by the Slot Mask Height parameter.

Scanline saturation is to be used exactly for this, can be nicely combined with vertical deconvergence for positioning. Depends on the mask mitigation technique though (oridinary, bloom, mask bloom, halation) and scanline shapes which ammount or/and type looks best for you.

2 Likes

Thatlooks a-ma-zing. Thank you so much for the hard work, man. Your shaders are truly incredible.

5 Likes

Thanks @Squalo. :smiley:

Meanwhile i tried how good the HD version is at downsampling and was pleasantly surprised.

Downsampled 3x:

The procedure is quite simple.

  • Increase emu-core internal resolution to, let’s say 3x
  • load the crt-guest-advanced-hd shader
  • increase first internal resolution parameter to 3.0
  • increase the “Internal Resolution Y: 0.5…y-dowsample” to 3.0

Also texture filtering can be used.

6 Likes

I don’t understand what the actual purpose of the first internal resolution parameter is. All I’m seeing at first glance is that it makes the image blurrier, which seems counterintuitive?

You can match the increased internal resolution of the core with it or with possible pre-scalers added. So it’s referencing the actual (increased) internal resolution used. It’s a tradition in parameter naming scheme @Hyllian invented for the aa-shader 4.0 etc. … :grin:

I actually also don’t quite understand how the downsampling parameter works. I mean, obviously I can achieve a look I prefer but what is actually happening in this scenario:

I’m running at 5x PS1 resolution so =1200p (matches my monitor). If I set the parameter at 5.0 then I get normal scanlines and a look where I would suppose it’s downsampling to native (=240p).

Now when I set the parameter lower, the scanlines become thinner, and I think the scaling isn’t quite clean (expected). However, when I set the parameter to 1.0, the scanlines become thick again, the output is different from 5.0 though.

1 Like

You must really match the internal resolution here or pixel alignment is off. Parameter value 1.0 means downsampling to 224.0p, because 1.0 is a “neutral divider” and would otherwise bring no effect.

You can maybe get more playing room with cores which aren’t that pixel sensitive, for example N64 or Dolphin core, maybe PCSX2.

1 Like

Well, some minor scaling artifacts I could live with. I like a look that’s based on 2x internal resolution (no downsampling) for games that are mainly 3D, but that doesn’t go cleanly in 5x of course.

The cores mentioned do their own weird scaling things, e.g. the PCSX2 core seems to be fixed to 640x448. Not a problem for most NTSC games I suppose, but it’s likely suboptimal for the 512px stuff, not to mention PAL games, which why I’m only going for standalone and reshade now.

1 Like

Wow! I love it! :smiley:

2 Likes

Hello Guest, meanwhile congratulations for your fantastic work and thanks for sharing it with us. Assuming that I’m a noob in terms of shader customization, I wanted to ask you what value I had to act on to try to smooth the image and make the pixels less harsh. Thank you very much for your attention.

1 Like