Koko-aio shader discussions and updates

Unlikely, as I faced the very same issue, despite the final window size.

It has to be that it is inheriting image zoom values from different defaults, but I cannot find anywhere where you defined them, they seem to be missing (?)

-edit-

Found:

Your Final gameboy preset references my:

#reference "../../../shaders_slang/bezel/koko-aio/Presets_Handhelds-ng/GameboyPocket.slangp"

Which in turn references my GameboyMono which defines wrong zoom and offest values for your background image.

@Duimon: Similar issues for nintendo ds:

1 Like

I’m currently exploring the possibility of modulating the horizontal warped glow to be “scanline friendly”.

This means that the horizontal glow would be modulated by the scanline.

No WarpedGlow x:

Old WarpedGlow X:

New WarpedGlow X:

New WarpedGlow X, less strength:

The difference is subtle, but it is more evident in high contrasted areas (like the sword or the woods in front of the sky).

I feel it helps in rounding the image and keeps sharp edges; thus allowing to emulate scanlines dynamics better without the need of blurring.

What do you think?

6 Likes

Nice.

Oddly enough, was just looking at a pic and it remined me that CRT shaders are so close to the real thing in many respects.

2 Likes

I agree that it looks more natural with the new WrapedGlow X. If the performance is not affected, this is clearly better.

1 Like

It will be affected, but I need my reference Haswell to know how much; hopefully under 2% :sweat_smile:

I made a newwarpedglowx test branch

Download latest here

By defaults it uses a lower quality version that looks very similar to the hq version even at big zoom levels.

You can switch to HQ by using #define HQ_WARPEDGLOW_X in config-user-optional.txt

I still have to test performance hits tho.

-edit-

…for whatever reason the performance hit is minimal (less than 1% on Haswell iGp) and the HQ version seems to be even faster (!?)

2 Likes

Indeed I think it looks better.

1 Like

Oky, just merged into main with usual latest headaches to manage ro/tated arcade games.

When set to a negative number (new Warpedglow x), it will be also disabled when Fake integer scanlines or Interlacing is requested.

While the former is conceptually correct, the latter is just a performance tradeoff.

1 Like

Could this be implemented in koko-aio?

Before we start, correct me if I’m wrong, but I don’t think Gameboy color had the diorama effect as shown in the link you posted, just the DMG had that.

Speaking of DMG, koko-aio already allows you to set a background and a foreground color, thus not needing transparencies.

Doesn’t GameBoy Color cores have colorization to change the white background?

I’m not sure, but how can I achieve this effect in koko-aio with general handheld presets? I like how it looks.

The closest thing in SameBoy are the low contrast options, here’s a comparison:

"Reduced Contrast"

"Harsh Reality"

pixel_transparency-authentic_gbc_fast.slangp

I like the pixel transparency look more.

The Diorama/shadow strength parameter already takes care of the shadow.

As per the transparency, you can activate the monochrome screen colorization and set a yellowish hue (or whatever):

…then playing with saturation etc

I made this presets in a matter of seconds, so don’t expect it to be accurate, but feel free to play with it:

test.slangp

#reference "/path/to/Presets_Handhelds-ng/GameboyColor.slangp"
COLOR_MONO_COLORIZE = "0.300000"
COLOR_MONO_HUE1 = "0.180000"
COLOR_MONO_HUE2 = "0.180000"
SATURATION = "1.430000"
DO_PIXELGRID = "0.000000"
DOT_M_G_TRESH = "-1.100000"
DOT_M_G_BRT = "0.540000"
DOT_M_SHADOW_STR = "1.000000"

It is not a difficult nor gpu-heavy thing to do better than that, but it would require 3 more parameters do define the background color, that’s what i’m fearing.

This is with core colorization set to off and brightness put down:

4 Likes

(post withdrawn by author, will be automatically deleted in 24 hours unless flagged)