Koko-aio shader discussions and updates

The 3DO emu is also a good place to see the artifacts at play.

Exactly that, interlaced content is not compatible with delta render, i was just checking flycast just now. It will never be, since the scanline alternating thing is skipped by the renderer. I’ve add a little note in config.inc about it and have to decide how to handle the thing. Disabling delta render when interaced emulation is enabled seems the obvious choice.

1 Like

Delta render disabled on interlaced content just now. You can get similar vibe by disabling scanlines on interlacing content and by forcing interlace flickering on non interlaced content tho.

Also added runtime parameters to change forced render interval and area check.

2 Likes

Just noticed that at least on my Linux rig, Ambient light is broken with nvidia+glcore:
flycast+nvidia+glcore: broken
flycast+intel+glcore: working
flycast+amd+glcore: working
flycast+nvidia+vulkan: working
…weird.

From memory, tha bug also affects PS2.

1 Like

Yesterday i checked nintendo64 and worked.
As soon as I have time, i’ll take a deeper look.

1 Like

Well, i managed to find the issue, i dont know why in this particular configuration, and only in that particular pass, the reported mod() function acted in a different, but predictable way.
Fortunately a workaround that does not break working cases was not only possible, but also gpu cycle free.

Just pushed, it should work now.

2 Likes

Cool. Did you get a chance to check the reflections for PS2?

You mean ambient light? Nope, no PS2 content here.
Still broken?

No, ambient light is working, but the bezel reflection doesn’t seem to be working (amd).

Yeah, now i remember. ps2+amd+glcore or ps2+amd+vulkan?

On my setup, pcsx will only use glcore. Although I’m on amd, as far as I am aware, the core only supports glcore for all hardware.

1 Like

Tested nvidia and intel and they works as expected, will take a while to test on amd…

Ah, i changed the reflection code for other reasons just yesterday, maybe you didn’t tried and it fixed the issue?

Will d/l and take a look

UPDATE - the changes in the reflection code has fixed ps2 on amd (and possibly other emus that use glcore on amd).

1 Like

Checked this finally - and OMG - the moiree in some of the presets is gone with that, wow! What’s the relevant parts to get rid of moiree? Or are they all in combination?

Before (with the ng-slotmask-bezel-bloom preset):

This preset - moiree is completely gone (bezel misaligned, doesn’t matter for this test):

3 Likes

Ah, good question, what’s the preset?

Also, screenshots appear to be overcompressed, mask is gone.

So far I did not find out what makes the difference. Below is a very rough preset, starting with your magic code (only the bezel zooms adjusted), then my part for the artwork. The magic code part removes the moiree. I will try to find out step by step…

#reference “…/…/shaders/shaders_slang/bezel/koko-aio/koko-aio-ng.slangp”
DO_CCORRECTION = “1.000000”
LUMINANCE = “0.200000”
GAMMA_OUT = “0.500000”
OFFSET_STRENGTH = “0.500000”
DO_IN_GLOW = “1.000000”
IN_GLOW_POWER = “1.699999”
IN_GLOW_GAMMA = “2.000000”
IN_GLOW_W = “3.500000”
IN_GLOW_H = “7.000000”
DO_PIXELGRID = “1.000000”
PIXELGRID_MIN_W = “0.050000”
PIXELGRID_MAX_W = “0.800000”
PIXELGRID_H_PRST = “1.000000”
PIXELGRID_MIN_H = “0.250000”
PIXELGRID_MAX_H = “0.700000”
PIXELGRID_Y_MASK = “0.600000”
PIXELGRID_Y_MASK_COORDS = “0.000000”
PIXELGRID_Y_MASK_HEIGHT = “-2.000000”
PIXELGRID_Y_MASK_ON_WHITE = “0.100000”
PIXELGRID_Y_MASK_SHIFT = “0.230000”
PIXELGRID_Y_MASK_STEEP = “16.000000”
DO_HALO = “1.000000”
HALO_POWER = “0.430000”
HALO_W = “3.500000”
HALO_H = “3.500000”
HALO_GAMMA = “1.000000”
HALO_VS_SCAN = “0.250000”
DO_BLOOM = “1.000000”
BLOOM_MIX = “0.500000”
BLOOM_GAMMA_OUT = “0.999998”
BLOOM_POWER = “1.000000”
DO_CURVATURE = “1.000000”
GEOM_WARP_X = “0.480000”
GEOM_WARP_Y = “0.510000”
GEOM_CORNER_SIZE = “0.010000”
GEOM_CORNER_SMOOTH = “200.000000”
DO_BEZEL = “1.000000”
BEZEL_INNER_ZOOM = “-0.110000”
BEZEL_FRAME_ZOOM = “0.090000”
AMBI_FALLOFF = “0.400000”
AMBI_POWER = “1.000000”
DO_DYNZOOM = “0.000000”
V_SIZE = “2.500000”
V_POWER = “1.000000”
S_POSITION = “194.000000”
ALT_BLANK_STRENGTH = “0.000000”

GLOBAL_OFFX = “0.000500”
GLOBAL_OFFY = “-0.006500”
DO_BG_IMAGE = “1.000000”
BG_IMAGE_OFFY = “0.001000”
BG_IMAGE_ROTATION = “2.000000”
BG_IMAGE_NIGHTIFY = “0.400000”
bg_under = “…/…/shaders/shaders_slang/bezel/koko-aio/textures/arcade_textures/astrof.png”

And this is the original preset with moiree:


#reference “…/…/shaders/shaders_slang/bezel/koko-aio/monitor-slotmask-bloom-bezel.slangp”
DO_CCORRECTION = “0.000000”
LUMINANCE = “0.100000”
DO_BLOOM = “0.000000”
BEZEL_INNER_ZOOM = “-0.110000”
BEZEL_FRAME_ZOOM = “0.090000”
BEZEL_R = “-0.220000”
BEZEL_G = “-0.220000”
BEZEL_B = “-0.220000”
DO_BG_IMAGE = “1.000000”
BG_IMAGE_OFFY = “0.001000”
BG_IMAGE_ROTATION = “2.000000”
BG_IMAGE_NIGHTIFY = “0.400000”
DO_AMBILIGHT = “0.000000”
S_POWER = “0.250000”
GLOBAL_OFFX = “0.000500”
GLOBAL_OFFY = “-0.006500”
bg_under = “…/…/shaders/shaders_slang/bezel/koko-aio/textures/arcade_textures/astrof.png”

Yeah, I mean, what’s the name of the preset you started from.

Ops, got it.

I deleted the global offx and offy settings and the image offx setting, as it reintroduced some moiree… and the own bezel inner zoom and bezel frame zoom setting produce some decent moiree, but nothing as before … so could it be that I have to tweak other settings if I change the bezel inner zoom and bezel frame zoom setting?

The smaller the image, the more the moiree, zooming out is expected to make things worse.

As a general rule, lowering the scanlines strength helps. This could be done via DO_PIXELGRID_H < 1. 0 (check config.inc for reference) or by allowing halo to cancel the mask and highering the halo strength (HALO_VS_SCAN >0).

Other parameters that are trickier to setup but may help or make things worse: PIXELGRID_MIN_H/MAX_H

This last one proved also to trick my eyes by making moiree less visible: PIXELGRID_OFFSET_CORE around 0.12-0.3

Lot of things.

1 Like