Koko-aio shader discussions and updates

Are backdrops now available in stable koko-aio?

@Starman99x: Latest stable is 3.9.01 from a month ago, where backdrops needed to be enabled by modifying a static value in config.inc.

Now they are available via standard menu parameters, but no stable release containing the change has been issued yet.

@estefan3112: Great work, as always.

In your readme, i read that you still use ALLOW_BG_IMAGE_TEXTURE_WRAP_IN_SHADER with hardcoded BG_IMAGE_WRAP_MODE.

Any reason for that? those settings can easilly live in the .slangp presets via wrap_mode retroarchā€™s builtin.

That way, your fork could be 1:1 with upstream

2 Likes

@kokoko3k many thanks for the hint re wrap mode, I will correct this!

@Starman99x - yes, the new package of yesterday includes all backdrops in the shader package, no separate tweaking required.

1 Like

Sorry @Starman99x, maybe i misunderstood your question.
Now backdrops have they own zoom and shift levels that are part of the preset, so yes.

1 Like

First off, lots of great work being done with this shader since I last checked in. Fantastic work kokoko3k!

Second, and Iā€™m not sure if this is possible, or maybe it is, and itā€™s dead simple and I just havenā€™t figured it out yet, butā€¦

Is there any way on a 1080p display to have a fixed viewing size (in my case, 1280x960) and then have the shader generate the bezel around that?

Basically, I want a 240p x4 inside area, and have content scale to that, within Koko-aio.

Apologies if thereā€™s an obvious answer - but it isnā€™t obvious to me :smiley:

Recently discovered these shaders and absolutely love them!

I also liked the RGB TV idea from Starman99x but tried something a little bit different.

I removed the Border from the Bezel and tried to fit it in perfectly into the background_over image. The Background Image is transparent and letā€™s the ambient light shine through.

I absolutely love those results, this is now my go to configuration :slight_smile:

Here are a few examples from Ristar:

2 Likes

@Faolon Really nice atmosphere you achieved there, my congrats!

Are you using the retroarch bundled koko-aio or the dev build?
Asking because in the upcoming version, there is a new parameter that allows you to colorize the foreground image without the need to modify its alpha channel.

Also, what do you mean by ā€œI removed the Border from the Bezelā€? If you put the image ā€œoverā€ the game content and the image itself is ā€œholedā€ to show the content it should simply work.

Care to share your preset for us to cannibalize :slight_smile: ?

@jt.cs: XY problem maybe?
If you want an arbitrary fixed size content display, then no, it is not possible.
If you want to scale at 4x the content, then yes, support for integer scaling with a cap to the maximum scaling has been added some day ago on github repo:

1 Like

Iā€™m using the retroarch bundled version. Real cool, that there will be a parameter for that!

I donā€™t mind sharing the preset at allā€¦if you tell me how I would best do that :sweat_smile:

The issue with the border from the bezel is, that I made the whole background_over image transparent. Without removing the border, those 2 images overlapped and that just looks weird with the transparency of background_over.

Here is my modified bezel image and the transparent foreground image, maybe itā€™s more clear then:

Edit: Just had a look at the dev build. With the new parameter you really donā€™t need the seperate bezel image because there is no need for transparency - very nice!

1 Like

@kokoko3k Yes, arbitrary fixes size display that the bezel is generated around. I donā€™t use integer scaling, as previously I would specify a 960p viewport and that left content such as PAL Amiga 512p stuff only at 1x, although I guess I can try that and see how integer works with your shader and no specified size.

Quick correction/update: You still see the Border of the Bezel with the new parameter. I guess through the addative method it still displays through the overlay. It blends in so well with this method though, that I donā€™t think itā€™s a problem anymore - at least for me anyway.

Here is an example with the new parameter method:

You are still using the transparent texture, dontā€™you? :slight_smile:

This is stock bezel texture with led power pushed very high:

-edit- For the record, the parameters you want to tweak is ā€œAlways colorize foreground imageā€ and probably ā€œLed powerā€ under Ambilight section. You can just load one of the 1084s presets included and push leds there, since colorization is already setted up.

1 Like

Are you kidding meā€¦well thatā€™s embarrasing :rofl: I even double checked exactly thatā€¦yesā€¦wellā€¦nevermind Iā€™m stupid and copied the wrong file regardless apparently :sweat_smile:

Edit: And here it is with the dev build and no transparent image this time around:

1 Like

You can further tweak ā€œColorization sizeā€ so that the color will spread nearer the tube (see that it stops on the bezel border right now).

Setting that value too high will colorize the game too.

@kokoko3k - regarding wrap mode, please let me ask once again for clarification:

In your current Github repository, you have the wrap mode disabled in line 129 of config.inc. As I have to uncomment this, I am clearly deviating from upstream in terms of wrap mode. And the static option in config.globals.inc is then for convenience, as for this artwork type, there will never be the use case for a mirrored repeat. Thatā€™s why I would remain with these two deviations, agreed from your side? Many thanks!

How about a user running the preset on a 21:9 aspect display?

2 Likes

Thereā€™s always somebody out there that wants that ā€œother optionā€.

@kokoko3k Actually, I noticed that the 1084s presents are basically doing something very similar to what I want, just not to the height/resolution Iā€™m looking for, so by playing with Background image enabled (set to on)/Zoom Image I can resize it to the desired 960p resolution with the bezel generated around it - with a different background image of course. Will have to experiment more, but it does look achievable after all. Iā€™m chalking this up to me not explained what I was looking for clearly in my original post :grin:

1 Like

Maybe I did not express myself good, let me clarify better.

Usefulness or different use cases aside, what I was talking about was the possibility to statically set the wrap mode by using a facility already in place in retroarch that i didnā€™t considered in the first place when i added the support for changing the wrap mode in koko-aio.

That feature lives in the .slangp so it is part of the preset and does not require changes to the shader code; hence, if we exckude the handyness of changing the wrap mode at runtime, you can retain the same functionalities as before without deviating from upstream which, for clarification, is and remains 100% your choice (it does not change much for me).

That said, if you take a look to the main koko-aio.slangp preset, the parent referenced by descendants presets, you can see what Iā€™m talking about:

  • bg_under_wrap_mode = ā€œmirrored_repeatā€
  • bg_over_wrap_mode = ā€œmirrored_repeatā€

ā€¦those directives live in preset files and like any other directive can be overridden by a descendant preset.

So if you include something like: bg_under_wrap_mode = ā€œclamp_to_edgeā€ (or clamp_to_border), in your own presets, you should achieve what youā€™re after.

Sorry for the long post, I hope to have at least hit the spot.

2 Likes

Well, sure, I was only talking about my artwork, realistic cabinet artwork, where mirrored repeat looks strange. There a black border looks just right for me :slight_smile:.

1 Like