Koko-aio shader discussions and updates

Thanks @kokoko3k. I guess I´ve spoken too early and without knowing your shader the way I should.

I´ll look into koko-aio more deeply then.

In any case, it is able to perform in 4K with an integrated GPU, which is awesome!!

1 Like

Working on a preset right now:

Suggestions? more/less glow/bloom? more/less persistance tails?

I’m also not sure about those “junction points” between vectors; core renders them, but should they be visible?

6 Likes

Wow!!! I think I´ll convert all my HSM-MB .slang to Koko-aio!!!

Yes the junction points should be visible. There should be an amont of flicker too.

1 Like

What kind of flicker? Shader only supports interlaced one, but on vector games it cannot be it, or maybe is similar?

–edit– ah, understood, not bothering with that, since it seems mame 2003 plus already does.

…however, looking at real hardware, i fear core is not good, see the shot here:

Screenshot_20241113_075858

It produces a big halo, while the “ship” does not; explosions are gorgeous too.

Screenshot_20241113_080005

It’s kinda like they are “brighter than white”

https://www.youtube.com/watch?v=LMhOUuONWGc

3 Likes

Just updated the dev version with 2 presets for vector monitors.
They are tuned to and meant to be used with mame2003+ core with stock options in vector section:

mame2003+ options

Vector_std_4_mame2003plus_defaults.slangp

Vector_neon_4_mame2003plus_defaults.slangp

Since the latter uses tick outlines, it is not really usable with titles like asteroids, because the light would eat all of the details; still it looks good in other scenarios:

…being the ouptut resolution high (1024x768), I strongly suggest you to use the “no upscale” versions of the presets in Presets_HiresGames_Fast subfolder as there is really no need to do otherwise apart from wasting power.

Also, to implement that neon-like light, there’s a new parameter, “clip to white”, which turns oversaturated colors to white, and for which i’ve not found any other use than the one it has been created for.

11 Likes

Hello,

I’d like to report that integer scale seems to be partially broken when the maximum value is set to an under scaled value. For example, I’m using a 1440P monitor and I normally use a 6x integer scale for maximum view port. The default maximum value is 10 and, in this case, it works as intended as the view port shows correctly in 6x integer scale.

When I set maximum value to something like 5 or 4, integer scale doesn’t work properly anymore. I noticed this only happens to games with smaller horizontal resolutions (e.g, 256x224). If it’s 320 x224, it works fine. When you play a game that switches resolution on the fly (Sega Genesis “Contra Hard Corps” for example), you can see the Konami animation isn’t scaled properly at the beginning of the game (uneven scanlines) when under scaled values are used, but as soon as you start playing the 1st stage, it switches back to the correct viewport again. Not sure if this is a valid bug or it’s something in my shader setting.

I’ll try to reproduce,

Uhm, works fine here, i have a 1080p monitor, so I’m simulating a resolution similar to 1440p.

5X with 256x224 test pattern

4x

5x:

It is not mandatory, but the latest version (just update slang shaders) automagically disables some settings that may interfree with integer scaling for you (eg luminosity tied zoom, curvature, global zoom… maybe others I don’t remember now). Are you using it?

Can you post the problematic preset?

1 Like

Thanks for investigating the issue. I updated the shader within Retroarch yesterday so I believe it’s the latest version. You can find my preset below. Your last two Contra screenshots reproduced my bug though. You can see that their viewports are different while using the same 5x integer scale, which shouldn’t happen, as the height of both viewports should be 224x5 for both screenshots (The “Konami” one isn’t, and uneven scanlines can be seen).

#reference "shaders_slang/bezel/koko-aio/Presets-4.1/monitor-BASE.slangp"
EDGE_DEFOCUS = "2.000000"
DO_PIXELGRID_H = "1.050000"
PIXELGRID_COREY_FAKE_SCAN = "0.000000"
PIXELGRID_MIN_H = "0.450000"
PIXELGRID_MAX_H = "0.450000"
DO_PIXELGRID_W = "0.000000"
PIXELGRID_H_PRST = "0.000000"
DO_HALO = "0.000000"
DO_CURVATURE = "0.000000"
DO_BEZEL = "1.000000"
BEZEL_R = "-0.145000"
BEZEL_G = "-0.145000"
BEZEL_B = "-0.145000"
BEZEL_ROUGHNESS = "5.000000"
BEZEL_DIFFUSION_STR = "0.200000"
DO_BG_IMAGE = "1.000000"
AMBI_FALLOFF = "0.200000"
DO_GAME_GEOM_OVERRIDE = "1.000000"
GAME_GEOM_INT_SCALE = "1.000000"
GAME_GEOM_INT_SCALE_MAX = "5.000000"

My hunch is that something tells the shader to use the horizontal res to scale the viewport, which becomes 256x5 by 224x4.286, to render a 4:3 image

where vertical res should be used >> 256x5.833 by 224x5

1 Like

Ok, I think it should be fixed, at least for non rotated games. @crtJoe

1 Like

This is looking fabulous!!!

7 Likes

The new vector setting is highly engaging and of course also works in FBNeo and MAME current.

(Major Havoc being a brand new merger of two Progetto Artworks)

I also experiment with this setting for the old backdrop games, however with less radical effects and by applying scanlines.

(oops, backdrop being broader than bezel artwork here…)

Again a lot of inspiration, many thanks!

2 Likes

When it comes to Vector Games, cores behaves differently, so to keep thing simpler and stay with the core defaults, I’d say to use HiresGames_fast presets for MAME2003+ and Normal for FBNeo.

  • Mame2003+: 1024x768 output resolution -> HiresGames_Fast presets (1x upscale ) -> 1024x768.
  • FBNeo: 640x480 output resolution (not configurable) -> Normal Presets (2x Upscale) -> 1280x960.

That way the presets should look similar and as intended.

5 Likes

The background image is upside down, how can I set it to be right side up?

1 Like

Quickest fix is to switch Video driver between GLCore and Vulkan

1 Like

With “Normal Preset” you mean the Presets-VectorGFX directory in root of the repo?

Yes, that.


1 Like

This is now interesting: In my tired eye, MAME2003+ is best, then FBNeo, then MAME2003 and MAME current being worst by far:

MAME2003+:

FBNeo:

MAME2003:

MAME(current):

(with MAME(current) I tested both presets and the root directory preset seems a bit better)

Your view?

1 Like

Perhaps it’s just a matter of different settings, for example input or output resolutions? Could be something simple to normalize the 4.

2 Likes