What’s your final verdict on the first preset on your oled display?
Too dark, too course (mask gap size I assume), and produces moire screen artifacts. Again, I’m running retroarch @ 1080p @ 60hz.
Yes, it is expected to produce artifacts at 1080p and requires a bright display. I was in the hope that you could raise the oled power trying at least 1440p.
Indeed your preset does look very good under “normal” conditions.
Obviously, the screenshots are captured internally via retroarch rather than what it looks like on the OLED. I run my OLED in Vivid mode, OLED light @ 95, Contrast @ 100 and Brightness @ 52 (again, in PC mode).
I don’t like 1440p, as in my view, I’m not sure it scales well at screen level to 4k.
But, as always, beauty is in the eye of the beholder.
Usually, things like scanlines and masks get screwed at any non-native resolution of the display. Is this shader behaving any differently?
I suppose it mostly depends on the scaling used by the display and on the source and dest resolution. On my display, 1440p to 4k scaling (lot of room) still produced a flawlessly picture. Also, scanlinesì gaps are mostly unaffected in any case.
But yes, koko aio behaves differently in that regard when it comes to non 1x horizontal masks, since it can optionally not rely on 1:1 matching between mask and screen coordinates.
If there is room, it can be used to emulate sub-phosphor glow.
How dows this slotmask look to you?
In the hunt for a more convincing slotmask effect on 1080p resolutions, i’ve found this.
The mask is standard green magenta, and the vertical stagger is standard 0.5 one, but this is particular because the phosphor height is exactly 2 scanlines and the whole phosphor grid has been shifted down by 1/8 (new parameter).
This produced an interesting crt like effect on low/mid tones imho:
Hi Kokoko3k, thank you for your tireless work. Unfortunately I view from smartphone, but from what I can see and from my taste I really like the final result. From what I see I would put just a little bit more brightness since, if I’m not mistaken, slotmasks tend to darken the image. By now on smartphone I have found my ideal size with your PGRID3 preset that you had inserted a few days ago, but as soon as I can format the Mini PC I would like to find a similar result there too. You’ve taken a great direction.
HA.
I wish i could know what is that direction, since i’m in the middle of nowhere and everywhere at the same time, too many ways to take and experiment.
pgrid presets were just moved into a WIP directory, i suggest you to save the prset you like, just in case
I am ignorant on the technical side of the matter, I base myself on what I see with my own eyes. That’s why I mention your PGRID3 because I really like what I see, at least on smartphones, of course I should just be able to experiment on a PC with a 1080p screen. I speak for my taste, the “dot” effect I love it, and even using methods such as FXAA leaves the image slightly “pixelated” giving the right balance between the past and the present. Certainly it is a matter of memories (altered by time), where one comes from (due to the technical differences of the CRTs and connections from region to region) and pure personal taste. However your packages include more and more options that should please everyone. PS thanks for the advice, but I’m sure that if you make changes they will only improve. You are now a certainty.
Is this in the repo?
@ROBMARK85 pgrid3 presets are the ones where every rgb phosphors triad matches the size of the source pixel, so they are bigger. I suppose they work good on small screens if you like to see the pixels one by one (i do). One downside of those presets is that the resulting resolution depends on the content, so you will have giant pixels when trying to emulate an handheld, and tiny ones when you emulate something like gamecube, dreamcast and so on.
@oldpainless: not yet, you may need to adjust the reference path and tweak it, is it a quick draft:
slotmask wip preset green magenta mask
#reference "../koko-aio-ng.slangp"
shaders = "17"
DO_CCORRECTION = "1.000000"
GAMMA_OUT = "0.500000"
OFFSET_STRENGTH = "0.500000"
DO_IN_GLOW = "1.000000"
IN_GLOW_POWER = "1.999999"
IN_GLOW_GAMMA = "2.000000"
IN_GLOW_W = "3.500000"
IN_GLOW_H = "7.000000"
DO_PIXELGRID = "1.000000"
PIXELGRID_MIN_W = "0.300000"
PIXELGRID_MAX_W = "0.400000"
PIXELGRID_H_PRST = "1.000000"
PIXELGRID_MIN_H = "0.300000"
PIXELGRID_MAX_H = "0.800000"
PIXELGRID_INTR_FLICK_POWR = "0.250000"
PIXELGRID_Y_MASK = "1.000000"
PIXELGRID_Y_MASK_COORDS = "0.000000"
PIXELGRID_Y_MASK_HEIGHT = "-2.000000"
PIXELGRID_Y_MASK_ON_WHITE = "0.250000"
PIXELGRID_Y_MASK_SHIFT = "0.230000"
PIXELGRID_Y_MASK_STEEP = "16.000000"
DO_HALO = "1.000000"
HALO_POWER = "0.400000"
HALO_W = "3.500000"
HALO_H = "3.500000"
HALO_GAMMA = "1.300000"
HALO_VS_SCAN = "0.300000"
BLOOM_MIX = "0.150000"
BLOOM_SIZE = "3.500000"
BLOOM_QUALITY = "2.000000"
BLOOM_GAMMA = "10.000000"
BLOOM_GAMMA_OUT = "10.000000"
BLOOM_POWER = "10.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.000000"
BEZEL_FRAME_ZOOM = "0.174000"
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"
Probably something went bad when copying pasting the preset, as i didn’t see any. I’ll make another one soon.
Have you used the latest code?
–EDIT–
My bad, i forgot to push the commit with support for the new parameter, done just now.
–edit–
i can spot a bit of moiree when the neogeo logo fades from white to black
Will d/l again and have a play.
slotmask wip preset with moiree mitigations
#reference "../koko-aio-ng.slangp"
shaders = "17"
DO_CCORRECTION = "1.000000"
GAMMA_OUT = "0.500000"
OFFSET_STRENGTH = "0.500000"
DO_IN_GLOW = "1.000000"
IN_GLOW_POWER = "1.999999"
IN_GLOW_GAMMA = "2.000000"
IN_GLOW_W = "3.500000"
IN_GLOW_H = "7.000000"
DO_PIXELGRID = "1.000000"
PIXELGRID_MIN_W = "0.300000"
PIXELGRID_MAX_W = "0.400000"
PIXELGRID_H_PRST = "1.000000"
PIXELGRID_MIN_H = "0.300000"
PIXELGRID_MAX_H = "0.800000"
PIXELGRID_INTR_FLICK_POWR = "0.250000"
PIXELGRID_Y_MASK = "1.000000"
PIXELGRID_Y_MASK_COORDS = "0.000000"
PIXELGRID_Y_MASK_HEIGHT = "-2.000000"
PIXELGRID_Y_MASK_ON_WHITE = "0.350000"
PIXELGRID_Y_MASK_SHIFT = "0.230000"
PIXELGRID_Y_MASK_STEEP = "16.000000"
DO_HALO = "1.000000"
HALO_POWER = "0.400000"
HALO_W = "3.500000"
HALO_H = "3.500000"
HALO_GAMMA = "1.300000"
HALO_VS_SCAN = "0.300000"
BLOOM_MIX = "0.150000"
BLOOM_SIZE = "3.500000"
BLOOM_QUALITY = "2.000000"
BLOOM_GAMMA = "10.000000"
BLOOM_GAMMA_OUT = "10.000000"
BLOOM_POWER = "10.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.000000"
BEZEL_FRAME_ZOOM = "0.174000"
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"
It’s all personal taste. It’s a good looking shader. For me, when I really zoom in, it’s like I’m seeing too much phosphor bleed (even with decon off), which at normal viewing it looks like pixel misalignment.
Not sure if that helps or not.
Thanks.
It is not supposed to be accurate by any means,so it is supposed to be even less accurate when zoomed in. What I like about it is that “pinch/sparkly” look i see on real crts; misalignment is a consequence of the slotmask shift, i think.
The previous one used a gm mask; switching to a full rgb one required several modifications and the look changed a lot.
The following also carries halo, bloom, bells and whistles; you can quickly modulate the bleeding by changing the glow power (input signal strength, eg: from 2.0 to 1.4)
slotmask wip preset rgb mask, halo bloom
shaders = "17"
#reference "../koko-aio-ng.slangp"
DO_CCORRECTION = "1.000000"
GAMMA_OUT = "0.500000"
OFFSET_STRENGTH = "0.200000"
DO_IN_GLOW = "1.000000"
IN_GLOW_POWER = "1.799999"
IN_GLOW_GAMMA = "2.000000"
IN_GLOW_SPREAD = "0.000000"
IN_GLOW_W = "0.000000"
IN_GLOW_H = "0.000000"
IN_GLOW_BIAS = "0.000000"
DO_PIXELGRID = "1.000000"
PIXELGRID_MIN_W = "0.100000"
PIXELGRID_MAX_W = "0.860000"
PIXELGRID_H_PRST = "5.000000"
PIXELGRID_MIN_H = "0.300000"
PIXELGRID_MAX_H = "0.800000"
PIXELGRID_Y_MASK = "1.000000"
PIXELGRID_Y_MASK_COORDS = "0.000000"
PIXELGRID_Y_MASK_HEIGHT = "-2.000000"
PIXELGRID_Y_MASK_ON_WHITE = "1.000000"
PIXELGRID_Y_MASK_SHIFT = "0.120000"
PIXELGRID_Y_MASK_STEEP = "8.000000"
DO_HALO = "1.000000"
HALO_POWER = "0.350000"
HALO_W = "3.500000"
HALO_H = "3.500000"
HALO_GAMMA = "1.000000"
HALO_VS_SCAN = "0.350000"
DO_BLOOM = "1.000000"
BLOOM_MIX = "0.250000"
BLOOM_QUALITY = "2.000000"
BLOOM_GAMMA = "1.000000"
BLOOM_GAMMA_OUT = "6.999994"
BLOOM_POWER = "4.999981"
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.000000"
BEZEL_FRAME_ZOOM = "0.174000"
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"