Please show off what crt shaders can do!

Have you ever tried out the ESRGAN uprezed textures for this?

1 Like

So are you talking about horizontal scaling then? I have my Aspect Ratio pretty much always set to “Core Provided”.

1 Like

Yeah if you’re using core provided just ignore me, lol.

On the topic of increased res, I just added a couple of options to crt-geom (slang only at the moment) to simulate a specific res–basically downsampling. You can use it to keep a high res on the horizontal axis while still getting nice, chunky scanlines that line up with the content.

8 Likes

Ok, @hunterk sorry about this, I promise next time I post more screens I’ll make a imgur or something to host them.

Here you go @guest.r! These are basically the same settings as my last screenshots with some scanline changes, and I think I set the deconvergence differently in these shots. All of these are with integer scaling on, at core config or w/e. The core is deciding the aspect.

These are Dreamcast at internal res of 1280x960

These are GameCube. at 2x res, I can’t remember the resolution.

These are a Wii Game at 2x as well. I most likely should’ve picked a 3D game based on our disscussion buttttt these are nice!

and lastly here’s some ps1 shots at 2x.

4 Likes

I have been making comparisons between different slot mask implementations lately for 1080p thanks to a discussion 2 weeks earlier in this thread. I mainly use the RGB phosphor masks with crt-royale but after finding a better implementation by @ProfessorBraun I decided to look further into it. At default values his implementation yielded a soft look and pattern I didn’t quite like so I modified the mask having this image as reference, if you see it at a distance the “chain” pattern morphs into a broken triangle sort of shape, specially when sub phosphors are not all lit.

I posted a screenshot like a week ago here with my results but I almost lost my config as I couldn’t replicate the same look. After some testing I got it down, and proceeded to clean and upload to my repo so it doesn’t happen ever again.

My idea is that signal content should be kinda blurry, but phosphors in contrast should be well defined. I made a comparison with my other benchmark game -SMW- between crt-royale_braun (with BW slotmask), crt-royale (default with RGB slot mask phosphors), and venom’s slot mask thanks to some help from @Syh.

**I guess 1080p panels are becoming a thing of the past, but TV broadcast, gaming and streaming in 4K is not yet a common nor cheap thing.

crt-royale RGB_________________________________________crt-royale BW

crt-guest-dr-venom

5 Likes

Looks good, I really like the Royale Braun one. I was actually trying presets out from your repo yesterday afternoon, but I couldn’t figure out what textures were supposed to be replaced with the image of the slot ask you posted in your message. Any pointers?

2 Likes

I uploaded to my repo on the presets folder. From the 6 masks I only modified the slotmask one.

Also included a preset so if I didn’t mess something up it should work straight away. You need to update grade because a variable name change yesterday. The good thing is crt-royale_braun is now separated from vanilla crt-royale so I can keep using both.

Unlike the other ones it’s a heavily modified preset, so you get my Sonic image straight away as a starting point.

3 Likes

Good shots! Guest-dr-venom looks the best to me due to the near total lack of moire compared to the other shots (why is that btw?). Scanlines are a bit nicer and colors have a bit more punch, too. Nice work!

Really curious about the lack of moire in the guest-dr-venom shot, though. I normally avoid curvature like the plague for that reason. Yes, CRTs had a bit of moire but CRT moire is not the same thing at all, and it was a very bad thing that you tried your best to eliminate.

2 Likes

It could be down to the difference in curvatures, or it could be that @Dogway did some tweaks to the settings. (Like I personally decrease the scanline strength, and end up with no moire with a slight reduction in scanline strength.)

1 Like

crt-royale_braun reduces moire compared to vanilla, and venom has no visible moire, but you compromise slot mask accuracy (@1080p). Things that help are remove curvature, lighten scanlines and the aa-sharpness setting, here’s at 1.70, maybe too much it depends on the HDTV settings.

By the way, the braun shot is the same as the Sonic one, so it’s curious to see how much perception changes depending on game or image used.

2 Likes

I think this may be display dependent (or at the very least tied to your display settings) as I most certainly get moire from default guest-dr-venom, when using curvature.

1 Like

Are you still working on ntsc-signal-bandwidth and rgb-signal-bandwidth? Just curious why you didn’t add those in to the presets.

2 Likes

Yes, haven’t had time to work on those, the problem is research it takes a lot of time, which I don’t have now so probably in summer. I’ll post some screenies later on.

2 Likes

I’m unable to find any combination of filtering methods that will keep black lines sharp while applying blur to the rest of the image without unwanted artifacts.

I think the solution might be a smart gaussian blur that reverses its behavior whenever a vertical black line is detected and blends dark into light (lower the value of the adjacent light pixels). At all other times it would behave normally and blend light into dark (raise the value of the adjacent dark pixels).

I think false positives would be rare and would probably be less distracting than the ringing artifacts you get with current methods. This method would offer greater versatility as well.

Is this possible?

You mean moiree? I knew it was done before so I searched for ewa and there’s an ewa curvature shader in the anti-aliasing folder.

I was able to remove the moire when using curvature with the guest-dr-venom shader by just using lower curvature values, which I find more accurate anyway. Like 1 or 2 for x/y; anything higher just looks exaggerated anyway IMO. EDIT: nevermind, lol! The moire is still there, just less noticeable. Curvature always results in some moire or noise no matter what.

I wasn’t referring to moire with my last comment; my thoughts are kinda jumping around all over the place today, lol. I was just referring to what happens with vertical black lines using different filtering methods. On an actual CRT, black lines remain sharp even on an early 1980s TV using composite video. With shaders, you have a choice: either apply a gaussian blur to the entire image, which replicates phosphor bleed behavior pretty well but turns black lines into a blurry mess; or, use one of the “fixed” filtering methods, which can keep black lines sharp but which lack versatility and have the tendency to drain the life out of highlights as well as making white lines too skinny, and can have other negative effects (ringing).

My idea is to just use a gaussian blur but add some sort of detection method that looks for vertical black lines and either greatly reduces the blur when a vertical black line is detected or reverses the blur behavior by blending the dark parts into the adjacent light parts when a vertical black line is detected. My technical knowledge is lacking so I don’t know if this would work the way I think it would or if it’s even feasible.

1 Like

I’d imagine it’s something possible as we have a dithering shader for genesis stripe dithering. The biggest hurdle imo, is false positive detection and someone actually coding it, lol.

I know of anti-ringing methods but to be honest I don’t know much about scanlines and such, I mostly work with colors.

Just to clarify the problem that I’m describing:

This is with guest-dr-venom using some custom settings and horizontal sharpness at 3.00. Highlights look good and pixels blend in a way that is accurate to the way phosphor bleed on a CRT worked (light colors bleed into dark colors). The problem is that black lines are a blurry mess and not at all as sharp as they would be on a CRT.

This is GTU with the defaults. Black lines are nice and sharp but the highlights just look bizzare; it’s especially noticeable with the text, the white around Link’s shield and the heart icons. It’s… pretty bad.

TVout-tweaks does something similar IIRC. Then you have the ones with fixed algorithms like Hyllian and Geom which can keep black lines sharp while adding a nice blur to the rest of the image, but they lack versatility and can introduce ringing artifacts. Hyllian does a nice job of removing the ringing with the anti-ringing filter, while Geom really needs the phosphor mask and scanlines to try to cover up the ringing. Both of them can only be adjusted in large increments due to the nature of the algorithms, so they have less flexibility than a gaussian blur.

@Syh

The vertical line detection part is some fairly easy logic so it shouldn’t be too hard for someone who knows code. I think false positives would be very rare depending on the logic used. It might even be necessary to do this every time there’s a black pixel that isn’t part of a large area of black (instead of looking for lines). But yeah I have no idea how to code it :stuck_out_tongue:

1 Like