Koko-aio shader discussions and updates

There is really (almost) nothing to do about weavy effect you have when scaling down scanlines.
It is already an achivement to have a scanlined 240p screen to look solid on 1080p.
Your only option is to lower the scanline effect by highering the “Gap brightness”, and probably getting rid of the curvature too, not sure about that.

I fired up crt-guest just now to look at the settings you’re missing, and it seems to me that LUT colors are shortcuts to modify the color temperature, but i could be wrong, so check by yourself by modifying: “Temperature in (6500=off)” parameter.

Hum bar and noise aren’t something i want, i’d like to replicate things that made the picture look better, not worse (yes, yes, i like curvature).

I’m spending lot of time trying to squeeze performance here and there, and honestly i’m running out of rabbits from my hat.
Since you mentioned it, it seems crt-guest-fastest is really fast; but crt-guest-fast one has worse fps than koko-aio, at least on my system.

Bloom is very configurable; i think the “Aura” effect is not really accurate, but if you see through koko-aio parameters, there is “strength on bright areas (0=aura)”, which whould help; i also suggest you to use the bloom “bypass” function, which lets you see only the bloom effect; it makes easier to tune it.
Btw, what you want is to lower the bloom “Output Gamma” parameter and probably zeroing “strength on bright areas”:

Other than that, keep tweaking.

There are a lot of knobs and i know it is not easy to master the whole thing.

Keep a look to docs.md or just ask here for more clarifications :slight_smile:

2 Likes

The smaller you make the image, the less effective pixels you have to render the image so you might need to switch to a different mask pattern that works better at lower resolutions so on a 4K Screen you might be able to use RRGGBBX as you go down in viewport size (and effective resolution you might need to switch over to an RGBX or RGB mask).

Another way to put it is as resolution effective resolution decreases, increase your TVL and you’ll see less of an issue with moire patterns.

At least that’s what works for me.

2 Likes

Excuse my ignorance, what does TVL stand for?

1 Like

No problem. It’s a new term to me as well.

It stands for Television Lines and is a measure of the resolution of the TV.

https://www.imatest.com/2021/11/how-to-compute-resolution-in-tv-lines-tvl/

https://elinetechnology.com/definition/tvl-tv-lines/

1 Like

Oh, yes, I understood that, but i thought it was an advice for Starman99x about something that could be done in a shader.

I guess i misinterpreted your answer to him.

1 Like

This is correct, I was giving Starman99x advice about something that could be done in a shader to reduce moire patterns. Finer (higher) TVL Mask patterns tend to suffer from less moire artifacts as viewport size decreases.

I was listing the subpixel layouts of different TVL RGB Masks.

See here for some more info:

Mask 12 in the post below below corresponds to Mask 13 in the above post.

1 Like

In my shader (and i think in others too) the vertical rgb or green magenta masks are always straight and relative to output display, so they don’t scale and do not produce moiree, ever.

Problems could raise when dealing with slotmask versus scanlines and since v3.5, I deal with them by default by syncronizing the slotmask height to the scanline height.
That way they are far more robust and resist to moiree for extreme curvature and dark gaps, at least at reasonable output resolutions; this is input 240p, output 1080p:

That way they curve and scales alongside the scanline.

…but when dealing with the weavy effect that results from the (down)scaling of the scanline itself that happens when the input picture itself is downscaled, no choice of mask could help, unfortunately, and the only workaround I see is lowering the scanline effect itself by making the scanline dark gaps less dark.

6 Likes

Great work on these shaders! I turned my old rig into an emulating machine and for the longest time I struggled to find a bezel/reflection shader that would both look good and run well on a 1080p display. Even the basic Mega Bezel presets would stutter. But these are perfect and work without having to tweak any of the parameters. Using them on all my cores (NES, SNES, N64 and PS1). PS1 games in particular look a lot better. Keep it up!

3 Likes

I made these TV overlays (using exodus crt as a base) for koko-aio shader, you can call it the first “RGB CRT” lol. I’ll share them in a post later with their own presets for ease of use:

And yes, that’s how koko’s scanlines look on my 1366x768p display, and upon further inspection this problem isn’t prevalent in crt-guest (or some of it’s scanline types and options) among others, unless I made the window really small. While koko looks wavy even ony my other 1400x900p display, I guess I really need a 1080p screen for koko, that’s too sad.

3 Likes

Ahah!

Nice exploiting of Ambient leds :slight_smile:

As said, the more scanlines are visible, the more their drawback sat lower resolutions will be evident. Probably the great shader from guest.r has their default values tuned for smoother and so nicer look at lower resolutions.

What you can do/try is to tune:

  • Scanline Gap brightness (make it higher)
  • Halo -> Light up scanlines too (it is a typo, it means “scanlines gap”, make it higher)

Btw, are you using a preset done by you or one from the default preset list?

…look i opened a standard preset from 3.5 and scaled down the window to a dimension close to yours (even lower):

…yes there is moiree, but far less than in your screenshot; also it seems to me that the mask in yur preset differs from mine, so i ask you again: are you using a preset from the latest stable version?

Check that “darklines strength” is 0 and that you are using A “slotmask type > 0.0” (under scanline section), because here lies the code that syncs the slotmask height to the scanline one and that hopefully will help you.

–EDIT– In fact, your content resolution is actually lower than 768p, because you are drawing a the bezel border too.

1 Like

Thanks, I’ll try the halo config too. I’m using your default monitor presets. Btw, how can I get the scanlines to look like this screenshot you posted?

It says “crt-monitor-scanlines-clean” but I’m confused.

This is an old screenshot, that preset is no more.

If you want that look, disable everything and enable just scanlines, then tweak their parameters to your taste.

1 Like

Man I finally figured out the problem. Simply, the stable 3.5 version doesn’t display transparency in background_over.png while the dev build does so.

That’s why I couldn’t get the speakers to show the ambient leds behind them. I was trying to do it with 3.5 not the dev version. Dev version works great.

It’s weird, the preset with Commodore 1084s from 3.5 itself uses alpha channel to show the game content and works just fine with 3.5.

Wasn’t it because ot the leading colon you left in the image path?

7db2d7d2f7e94c7831080fa253a4a836ba96b6b4_2_690x235-1

Hey there, hello and thank you for sharing this awesome feature !

I appreciate the composite rainbow looking you did in one of your presets. But I would like to know if there’s some way to get more blurry looking since I can still see the RGB lines on waterfall or any other texture that is supposed to have dithering.

Also, I would like to know if may be possible to add up Noise into these NTSC shaders since as far as I remember, those systems being played by RF Switch have always had not only the blurry looking + rainbow banding but also some poor video signal with interference, which is a key feature in my opinion to intend a RF retro experience. Not likely I have found many or any RF switch preset out there but at least from my experience, I always had to notice this bad video signal with interference with that cable.

Thank you again for sharing !

Hi there, The best you can do to further smooth waterfalls is: Under Glow section:sharpness, horizontal, set it to 0.5
Under Halo section:sharpness, horizontal, set it to 0.5
Enable “RGB deconvergence”. set strength to 1.0
However the whole image will look more blurred.

As for noise, you are the second to ask me for it, but I already answered that i’m only interested in emulating what made the picture better; maybe i’ll think twice about it in the future.

1 Like

Fair enough buddy. I really appreciate way more the blurry looking on Genesis and SNES games overall. Composite video fits the best for those consoles in my opinion.

As it is for the noise, I appreciate the answer. If it’s within your possibilities or desire, I would appreciate to be addressed on the future. I think there’s very little to no presets out there that attempt to bring RF switch looking for those consoles. Such video signal interference gives such a cool old school vibe that may just be considered as another artifact like the Rainbow banding but still contributes to even more accuracy to original game experience. And since RF switch I read was the default cable connection that came with all old school consoles, I guessed this would be one of the first features (noise-interference) to be emulated in all presets

Anyway, are you taking the Composite video Rainbow banding in your tv NTSC 1 video preset from Sonkun’s presets ? I’m only aware there was just one shader that was capable to make an accurate effect of the Rainbow colorful lines (at least for Sega Genesis Games) but I’m still impressed that you managed to incorporate such features on here.

1 Like

Nope, koko-aio is built from the ground; there is a discussion about NTSC look some posts ago.

@kokoko3k I think the problem is in translucency if that makes more sense, or in how LEDs behave in the Dev build vs stable. I don’t know, but there’s definitely a contradiction between them. And the stable version doesn’t let the LEDs/Ambient light bleed and shine from behind my translucent speakers.

So here’s everything I used packaged together, and if you can figure it out, please feel free to use my designs in any future versions as you see fits. Just mind that @exodus123456 is the one who made the base overlay and I modified it for koko-aio.

Here’s the zip file:

1 Like

Thank you!
Do you also have a repo?
I could link it from my github one.

1 Like