Koko-aio shader discussions and updates

Hello koko-aio. I wanted to thank you again for your splendid work and I am very happy for the developments in the field of handled emulation that your shaders is having. By now a good part of gaming is done through smartphones due to various factors, and thanks to your shaders and a good interlocking joypad I can still enjoy healthy and good RetroGaming. I enclose some shots taken from my Poco M4 Pro of Super Ghouls 'N Ghost with your shaders, I use your monitor-bezelwider preset with some parameter variations and I find it fantastic:

With slotmask

With aperture grill

5 Likes

Maybe on a phone (oled?) you would get better results by using an rgb mask without horizontal gap instead of green,magenta,gap.

2 Likes

I have an amoled display. If I wanted to try your advice, what should I change inside your shaders ? Thank you

Use LoDPI Green, Magenta -> RGB = 0
Horizontal gap between triads = 0

1 Like

Thanks for the advice and help. I would like to ask you in the light of the changes made, which one do you consider the best image. I used slotmask 1, 2, and 3 in that order. Thank you very much

1 Like

Type 1 or three for me, it depends if you like scanlines or not.
Type 2 is trickier to setup, from docs.md:

    Type 2 produces thinner slotmasks, (dark gaps more pronunced),
           but with fixed offset.
           The stagger height will still be modulated by the scanline height.
           This is intended to give pixels a sparkling point.
           Works best with scanline heights in range [0.5..0.7]

If you like scanlines to grow and shrink as much as possible depending on the pixel luminance, type 2 has to be avoided; if you set a fixed scanline weight around 05…07, instead, it could give better results.

2 Likes

Heartfelt thanks for the help. I stubbornly stuck with slotmask 2, following your advice and with what modification to Halo strength and gamma out (in addition to those I previously made) here is the result, I think it’s fantastic. Thank you

3 Likes

Very last modification, I preferred to reactivate the convergence, it fades just enough to make the image more cohesive

Still experimenting with low level phosphor emulation, i think it is ready or almost ready.
The following is 1080p, no brightness push tricks used (no halatio, no glow, no bloom, no linear gamma, no blurring, just bare core picture sent to the function.
The phosphors grows in width and height with almost full range and the slotmask fades under the light and this seems enough to have a bright picture.
However the output gamma has been lowered to (0.5) because the phosphor emulation seems to acts like a gamma linearization itself, i need to inspect that.

This time the slotmask is drawn at screen coordinates and is very tight so that it resists to curvature without showing weird moiree/artifacts.

5 Likes

Spectacular, truly exceptional, I can’t wait to test the final version ! Thanks always for your work.

2 Likes

This is looking great!

So this is the same code which can morph into a matrix grid/lcd grid with changes to the parameters?

I’m curious what it looks like at non-integer low res, E.G. 800px or even 600px, obviously if the res is low enough with scanlines the best you can get is probably blurring the scanlines together.

1 Like

Yes, the same code that i used to emulate color handhelds screens some posts ago (gameboy one is a bit different, since it needs steep and well defined grid around every pixel).

You mean 600p?

If the source res is low enough, it can perform well, but honestly i doubt even 240p would appear right…

600/240 means you have 2.5 rows to draw a scanline, a gap and some smoothing. It would be like putting an elephant in a car, but i’ll try anyway :upside_down_face:

1 Like

Ha ha, totally :slight_smile:

I’m also interested what it would look like at like 800p too if that helps any :rofl:

4 Likes

Buuuuut, if i enable core resolution slotmask, it mitigates the glitches pretty well:

600p:

400p image

at less than 300p, it collapses

image

…don’t ask me how is possible that it doesn’t look like totally #?! on 400p, I don’t know.

@HyperspaceMadness Why are you so interested i those resolutions btw?

2 Likes

Wow, that is looking really great! The fact that it still looks ok at 400p is some kind of a magic!

It’s something that comes up periodically with the Mega Bezel since the tube us already smaller than the screen and limits using integer scale and this often causes nasty artifacts with moire & lcd having really uneven presentation which makes it too ugly to be usable.

2 Likes

Man, loving this ambilight effect. What preset are you using?

I like the fact that you maximize the vertical resolution. I typically set the games to run at next integer so the active area is bigger on my TV which is not very big (48" at 3m).

I might need to adapt the bezel to make it work with my own presets though.

This is all I get, cropped sides. I know the ambilight is working because I tweaked the zoom settings and could see the effect using “monitor-bloom-bezel.slangp”:

2 Likes

@Dogway Have you set retroarch aspect to “full” or “core provided”? try “full”

wide presets end with “bezelwider.slangp”, ie: monitor-bloom-bezelwider.slangp

2 Likes

Thanks! That did it. I was using custom as I do my own AR but with full it works fine now.

Great looking bezels, will try to implement them on my own personal presets. I guess copying the passes after in_glow_x.slang

2 Likes

koko-aio is very “tight”, so before trying to hack it, unless you’re familiar with shaders coding, I suggest you to try to replicate the look you’re after by using its parameter, i could assist you in that, or take a look to docs.md

2 Likes

Thank you, yes I have some experience, not a super expert though. I will try in the next few days.

2 Likes