Koko-aio shader discussions and updates

That sounds cool, here’s the new repo, but please remove Starman99x folder from your repo, so I can maintain it more easily in mine.

And for convenience’s sake, I’m going to use a new destination folder for my packs located at: “RetroArch/shaders/koko-aio_packs” just like the folks at Mega Bezel.

3 Likes

Hi @kokoko3k, just asking out of interest whether it would be hard to implemet the CRT-GEOM-Tilt options (horizontally and vertically) and what impact on performance it would have? Orions Angel used it some time for old school bezels. While it looks quite cool (see 1943 enclosed - plain CRT-GEOM Slang Shader), the work that such artwork change would entail is worrying me. So no real rush here, just asking… :slight_smile:

1 Like

@estefan3112 I think about 3% on my haswell igp, used or not.

Also, that feature would be not compatible with bezel/reflections if not in a bit weird way (they would appear as flat).

1 Like

Hello @kokoko3k. The new options that you have implemented (although I think it is not the final version) can be used for the same thing that I wanted to achieve by modifying “image zoom” and “fram zoom”? If so, how? With these two parameters horizontally it is practically as I wanted (it would need a bit of adjustment in the reflection, and I changed the curvature downwards a bit to make it fit better… in addition to removing a bit of brightness), but when I put a vertical game is not framed the same and leaves space on the sides (although up and down is fine); I don’t know if these new tools make it easier. Sorry for my ignorance.

Hi there!
I’m not sure to understand what you are for.
Presets whose name ends in bezelwider dont shrink the image vertically, and this is true for horizontal and vertical games (maybe 4…5 pixels).
And they worked that way since months, so those 2 options should be enough for you needs.

Be sure to use mame2003plus as core.

Rotated:

Straight:

I didn’t explain myself well, haha. My idea was that the frame with the reflection would fit into the bezels of “the bezel project”, but now that I have looked at the photos (and that I have tried the shader by disabling the bezel), I think I was wrong, so I started modifying the zoom from the “bezel” type (enlarging) and it seems to me that I should have started from the “bezelwider” (smaller)… or simply have the shader without reflections (which is already very good like that). Why do you say it has to be the mame2003plus core? I have tried it in games with the fbneo core and I don’t see anything strange… I don’t notice something?

ook!

Yes, fbneo is ok too.

I spoke about cores, because auto rotation handling does not work with some (eg: standard mame)

And here are some new experimental presets that combine koko-aio with gdapt and snes-hires-blend to reproduce the pseudo transparency effect of the original consoles, this is ideal for those who want the effect but prefer a sharper image, since your only other option is a TV signal preset/filter which by default produces a blurry image:

gdapt ON

gdapt OFF

snes-hires-blend ON

snes-hires-blend OFF

I converted snes-hires-blend.slang to slangp as a bonus if anyone wants to prepend it to another shader easily.

You can download everything from my repo, included are some new TV presets for my CRT RGB pack:

3 Likes

koko-aio already provides logic to selectively blur ntsc artifacts, this is an extreme setup, so you see fringing near borders:

image

1 Like

I tried it but couldn’t achieve what gdapt does while retaining a sharp overall image.

I tried, but the shader code is starving, instead of the expected 2,3 fps it looses 40fps when not using static values. Absolutely not justified, I’ll inspect further.

@estefan3112

1 Like

try starting from: tv-NTSC-1-selective.slangp and turning ‘off CVBS: Bandwidth limited chroma’, then set Sharpness Y in glow section to 7.0, Sharpness X to 2.0, and finally tweak ‘blur ntsc artifacts more’

The picture will not be similar by any means to the one produced by an ntsc signal, but should give you sharp picture and blurred artifacts.

1 Like

Yeah, that’s common when combining shaders with the append/prepend feature, RetroArch really needs a feature to automatically make parameters static to improve performance, reshade can do that and it’s very handy.

1 Like

Wops, sorry i was answering to @estefan3112 about the tilt option.

Why sometimes when i click the answer arrow (not the button) it does not record my message as an answer?

It just happened in this very same message!

1 Like

@HyperspaceMadness is this doable?

I’m not sure if this is doable or not, it would have to look into it because I’m not sure how it would be achieved. Since you’d be moving from getting the value from the UBO block and trying to somehow transparently exchange this for a #define with the value from the param definition, but some things still need to come from the UBO block.

Sounds super hacky… :rofl:

One possibility would be to add a auto-generated #define USE_STATIC_VALUES (turned on/off from the ui) which the shader writer could react to and use static values they define and ignore the parameters. But it would also be ignoring the parameter values in the preset

The shader writer would still need to write their shader this way though

3 Likes

@estefan3112 As i said, while i expected 2…3fps, it went down by 40fps.
This unjustified slowdown comes probably by the excessive complexity of the last shader pass, so today I almost completely refactored it and the slowdown is now into an acceptable 0…10 fps range (depends on the tilt amount) when the option is active.
Also the code is less messy and more robust for future additions. Now i need some time to ensure everything still works as before and doing last tweaks.

4 Likes

Is Koko-ai something that runs off of mega-bezel, or more of an alternative to mega-bezel?

@Drybonz

An alternative.

I shamelessly stolen the autogenerated bezel from MegaBezel to a png (thanks again @HyperspaceMadness!) and obviously got the inspiration, but the code is different.

4 Likes

Ok… thanks for the info.