Koko-aio shader discussions and updates

You used an “harder” slotmask with smoother borders. It makes sense and particulary I like G&g.

1 Like

Thanks for your feedback, I have to unplug in the future but will investigate as soon as I can the option to use Duimon overlays with your shader.

I wanted to make an update: changing both sharpeness values to 5.00 instead of 3.50 results in having a slightly pixelated image (a minimum that doesn’t hurt either since we’re talking about retrogaming) in favor of a much less blurry and much more pleasant image to be seen. If you try it let me know.

I inderstood you liked smooth borders (i understand now you don’t mean blurry), but yes, those values modulate the image sharpness, it is matter of taste and if you’re after a good arcade crt setup, having it higher is better.

As I always say, the truth lies somewhere in between - Thank you for your work, feedback and patience

2 Likes

Very kind of you, but really many thanks for your great work.

Just to illustrate how useful clamp to border is if a game is played in a very stretched window.

Edit: I found the static option for clamp to border in config.globals.inc and will try to put it static.

Cheers!

2 Likes

Hi kokoko3K - I needed some advice please - after finding my way with your shader in terms of customization using slotmask number 2, I wanted to set an aperture grill variant as my screen type, but the image looks a bit off too light for my taste. Where exactly can I take action to achieve my goal? I’ve attached a screenshot:

PS - the quality/performance ratio of your shader is priceless, you have done a miracle and it is urgent to get yourself a golden statue in the square of the city where you live, you are a national hero, I can’t believe you can take advantage of options and graphic effects of this type with a negligible performance weight. In the future, since I would like to emulate heavier systems, can you explain better the history of the possibility of acting manually, via text file, on the file to increase performance even further. Meanwhile my next step is to adapt your shader to Duimon overlays, as soon as I can I will and I will keep you and the community updated. Heartfelt thanks for your work.

I don’t see it that light in the sense that i cannot spot clipping/saturated colors.
However the parameters that can influence the brightness are:

  • Luminance push

  • contrast in

  • brightness in

  • gamma out

  • (glow/blur) input signal strength

  • (halo) strength

  • (bloom) final mix

  • (bloom) gamma out

  • (bloom) power

  • (bloom) modulate temporal eye adaption strength

  • (bloom) modulate strength on bright areas

Since bloom is under work, it may be possible that in the dev version it is a bit overpowered, so i’d strt by putting it off and see if it is the culprit; if yes, i’d continue to change the bloom mix parameter.

In order of probability, if bloom is not to blame, the next setting i’d change is the glow input signal strength.

good look :slight_smile:

1 Like

As per the possibility to gain speed, it is all documented in the first post;ì, where it says “if you want to boost your fps”.

Further explainations are in the file config.globals.inc

1 Like

Hi Kokoko3k, please I need some advice from you. Fiddling with the settings I decided to stop at slotmask 2, which could ideally represent an Arcade/Personal Computer monitor. I managed to improve the color by simply “Gamma Out”. I wanted to understand how it works I loved exactly the horizontal and vertical sharpness values ​​under the “glowing input” heading, if I have to increase or decrease them together or not, or if it is the case to act on the corresponding values ​​of the “Halo” heading, I tried to document me but when you can I need advice please. I’m almost there to have exactly what I want, I’m close. A thousand thanks.

Roughly, the Gamma function is a curve that lets you push or diminish the middle tones (black stays black, white stays white); speaking of bloom, you can modulate how it fades from bright to dark; 1.0 means no gamma correction; lower values will make the fades wider with a steeper falloff; this can be used to pronunce the wide “halo” around bright objects". Values > 1.0, instead, will produce smoother contours and will lower the overrall bloom brightness.

As for glow and halo, they serve two different purposes, i can tell you what they do, not what values you have to use on them, because it depends on what you are after, ofc.

The first (glow) controls the input signal, in other word, one of the first gain you can apply to the image (if we exclude the color corrections); changing it will change the signal that will be processed by all of the successive filters.

The halo acts almost like the bloom, but it is tuned for very narrow sizes. It reproduces the reflections made by the glass on the tube of crts and is literally added to the input signal and the mask; thus lowering the effect of it (the more the halo, the less you’ll see the rgb mask); you can modulate it via its gamma setting to mantain vmask visibility on darker areas.

Like explained in the doc, even if halo should in theory have the same effect on scanlines, as it does on the rgb mask, you can further cheat/tweak it by choose how much the halo should affect scanlines via “Light up scanlies gaps too” setting; this is useful if one likes more pronunced scanlines visibility that “survives” to halo.

1 Like

Thank you very much for your help, you are very kind as always. I’m already testing things, seeing if and what I should change your “monitor-slotmadk-bloom-bezel-backimage” preset. I then await the release of your new version to “confirm” the final result. Thank you always for the opportunities that your work gives us users. Good day.

Hi @kokoko3k, just fyi - I pushed my old Intel iMac Late 2013 (Nvidia GTX 780M) to MacOS Monterey with the OpenCore Legacy Patcher. And it was worth the effort: RetroArch Vulkan with koko-aio stock performs impeccably on it in first testing! I will check now my own artwork as well, but quite clear that it will perform very well. So Nvidia on MacOS is also a :white_check_mark:. Your shader truly rocks!

2 Likes

Hi there.

Currently, you can set a custom aspect ratio in the shader options, but it will change the aspect of the bezel too.

If you don’t mind having the border frame, you can just disable it and set retroarch aspect to ‘core provided’

Your use case is interesting, indeed it looks very nice, and i can insert an option to force the aspect just for the content in a future release.

edit

Wops, I see you deleted the post, have you found an alternative solution?

Oh yes, thank you for responding. I withdrew it because when checking again the video was not, in fact, 4:3 but 16:9 letterboxed. I still don’t know why it squeezed the image, but I do have a few more video that were actually 4:3 and they work perfect and look wonderful. So it was my own dumb fault for posting before double checking everything. But the good news is that your shaders are making 480p TV content look incredible. Thank you for your response and I will keep this knowledge with me for the future. Have a wonderful day!

1 Like

Chiming in: I think having the ability to set content to force aspect ratio for content would be great.

I think what you like is the 480i look, not 480p.

If you’re using one of the provided presets, probably the interlaced detection and the flickering emulation kick in.
Since I liked the vibrant flickering effect of the interlaced images, i spent some time tuning that aspect till it looked like i remember them.

@jt.cs, i’ll write it in my todo list, it is growing :slight_smile:

1 Like

These presets are intended for Sega Genesis Games with the intention to play Composite Video + Rainbow banding.

These small presets are made based on January 26th, 2023 update. Maybe works without a problem in most recent version. I think this version had already the RF feature incorporated, not really sure.

Have been looking for a while within these 2 to get as close as I could to the video samples I have had to presence with Composite video + Rainbow banding but also my own experience with it.

The colorful lines were intended to be accurate in case “Borders” are enabled or not, depending of the Genesis core. BlastEm core has Borders enabled by default and Genesis Plus GX have the option to enable it full as well.

Borders can be enabled or disabled in Genesis Plus GX as your own wish but Borders ON is supposed to provide more accuracy with original hardware. Both presets fit this purpose.

Main menu video options: Aspect ratio: 16:9

Main menu audio options: Output rate: 16000 or 22000. I like both as it fits the bad audio quality from back then and fits better with Composite video looking. Resample quality: Lowest

Maybe you like it, maybe nobody cares but I hope you have fun if you use it. Still, it would be great to see it with other TV looking images like those being used with the Mega_bezel project. @Cyber @sonkun @HyperspaceMadness

koko-aio danny CVRainbow march03th,2023-NoBorders

shaders = "17"
shader0 = "shaders_slang/bezel/koko-aio/shaders/first_pass.slang"
filter_linear0 = "false"
wrap_mode0 = "mirrored_repeat"
mipmap_input0 = "false"
alias0 = "first_pass"
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "2.000000"
scale_type_y0 = "source"
scale_y0 = "2.000000"
shader1 = "shaders_slang/bezel/koko-aio/shaders/fxaa.slang"
filter_linear1 = "true"
wrap_mode1 = "mirrored_repeat"
mipmap_input1 = "true"
alias1 = "FXAA_pass"
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_slang/bezel/koko-aio/shaders/shift_and_bleed.slang"
filter_linear2 = "true"
wrap_mode2 = "mirrored_repeat"
mipmap_input2 = "false"
alias2 = "shift_and_bleed_pass"
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
scale_type_x2 = "source"
scale_x2 = "1.000000"
scale_type_y2 = "source"
scale_y2 = "1.000000"
shader3 = "shaders_slang/bezel/koko-aio/shaders/in_glow.slang"
filter_linear3 = "true"
wrap_mode3 = "mirrored_repeat"
mipmap_input3 = "false"
alias3 = "in_glow_pass"
float_framebuffer3 = "true"
srgb_framebuffer3 = "false"
scale_type_x3 = "source"
scale_x3 = "1.000000"
scale_type_y3 = "source"
scale_y3 = "1.000000"
shader4 = "shaders_slang/bezel/koko-aio/shaders/halo.slang"
filter_linear4 = "true"
wrap_mode4 = "mirrored_repeat"
mipmap_input4 = "false"
alias4 = "halo_pass"
float_framebuffer4 = "true"
srgb_framebuffer4 = "false"
scale_type_x4 = "source"
scale_x4 = "1.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/bezel/koko-aio/shaders/avglum_pass.slang"
filter_linear5 = "true"
wrap_mode5 = "mirrored_repeat"
mipmap_input5 = "false"
alias5 = "avglum_pass"
float_framebuffer5 = "false"
srgb_framebuffer5 = "false"
scale_type_x5 = "source"
scale_x5 = "0.500000"
scale_type_y5 = "source"
scale_y5 = "0.500000"
shader6 = "shaders_slang/bezel/koko-aio/shaders/reflection_blur_h.slang"
filter_linear6 = "true"
wrap_mode6 = "mirrored_repeat"
mipmap_input6 = "false"
alias6 = "reflected_blurred_pass1"
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
scale_type_x6 = "source"
scale_x6 = "1.000000"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/bezel/koko-aio/shaders/reflection_blur_v.slang"
filter_linear7 = "true"
wrap_mode7 = "mirrored_repeat"
mipmap_input7 = "false"
alias7 = "reflected_blurred_pass2"
float_framebuffer7 = "false"
srgb_framebuffer7 = "false"
scale_type_x7 = "source"
scale_x7 = "1.000000"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_slang/bezel/koko-aio/shaders/bloom_pass_1.slang"
filter_linear8 = "true"
wrap_mode8 = "mirrored_repeat"
mipmap_input8 = "false"
alias8 = "bloom_pass_1"
float_framebuffer8 = "true"
srgb_framebuffer8 = "false"
scale_type_x8 = "source"
scale_x8 = "1.000000"
scale_type_y8 = "source"
scale_y8 = "1.000000"
shader9 = "shaders_slang/bezel/koko-aio/shaders/bloom_pass_2.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_edge"
mipmap_input9 = "false"
alias9 = "bloom_pass_2"
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
scale_type_x9 = "source"
scale_x9 = "0.500000"
scale_type_y9 = "source"
scale_y9 = "0.500000"
shader10 = "shaders_slang/bezel/koko-aio/shaders/bloom_pass_3.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_edge"
mipmap_input10 = "false"
alias10 = "bloom_pass_3"
float_framebuffer10 = "false"
srgb_framebuffer10 = "false"
scale_type_x10 = "source"
scale_x10 = "1.000000"
scale_type_y10 = "source"
scale_y10 = "1.000000"
shader11 = "shaders_slang/bezel/koko-aio/shaders/bloom_pass_4.slang"
filter_linear11 = "true"
wrap_mode11 = "mirrored_repeat"
mipmap_input11 = "false"
alias11 = "bloom_pass_final"
float_framebuffer11 = "false"
srgb_framebuffer11 = "false"
scale_type_x11 = "source"
scale_x11 = "1.000000"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/bezel/koko-aio/shaders/ambi_push_pass.slang"
filter_linear12 = "true"
wrap_mode12 = "mirrored_repeat"
mipmap_input12 = "false"
alias12 = "ambi_push_pass"
float_framebuffer12 = "true"
srgb_framebuffer12 = "false"
scale_type_x12 = "source"
scale_x12 = "1.000000"
scale_type_y12 = "source"
scale_y12 = "1.000000"
shader13 = "shaders_slang/bezel/koko-aio/shaders/ambi_pre_pass.slang"
filter_linear13 = "true"
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "true"
alias13 = "ambi_pre_pass1"
float_framebuffer13 = "false"
srgb_framebuffer13 = "false"
scale_type_x13 = "source"
scale_x13 = "1.000000"
scale_type_y13 = "source"
scale_y13 = "1.000000"
shader14 = "shaders_slang/bezel/koko-aio/shaders/ambi_temporal_pass.slang"
filter_linear14 = "true"
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
alias14 = "ambi_temporal_pass"
float_framebuffer14 = "true"
srgb_framebuffer14 = "false"
scale_type_x14 = "source"
scale_x14 = "1.000000"
scale_type_y14 = "source"
scale_y14 = "1.000000"
shader15 = "shaders_slang/bezel/koko-aio/shaders/isrotated.slang"
filter_linear15 = "true"
wrap_mode15 = "mirrored_repeat"
mipmap_input15 = "false"
alias15 = "isrotated_pass"
float_framebuffer15 = "false"
srgb_framebuffer15 = "false"
scale_type_x15 = "viewport"
scale_x15 = "0.100000"
scale_type_y15 = "viewport"
scale_y15 = "0.100000"
shader16 = "shaders_slang/bezel/koko-aio/shaders/final_pass.slang"
filter_linear16 = "true"
wrap_mode16 = "mirrored_repeat"
mipmap_input16 = "false"
alias16 = "final_pass"
float_framebuffer16 = "false"
srgb_framebuffer16 = "false"
scale_type_x16 = "viewport"
scale_x16 = "1.000000"
scale_type_y16 = "viewport"
scale_y16 = "1.000000"
DO_CCORRECTION = "1.000000"
SATURATION = "0.950000"
CONTRAST = "-0.020000"
BRIGHTNESS = "-0.020000"
TEMPERATURE = "6100.000000"
GAMMA_OUT = "0.415000"
DO_FXAA = "1.000000"
DO_NTSC_ARTIFACTS = "1.000000"
NTSC_FILTER_SCF = "5.330001"
NTSC_MIX = "0.700002"
DO_SAT_BLEED = "1.000000"
SAT_BLEED_STRENGTH = "1.900000"
DO_SHIFT_RGB = "1.000000"
OFFSET_STRENGTH = "1.000000"
SHIFT_B = "20.000000"
DO_IN_GLOW = "1.000000"
IN_GLOW_POWER = "1.749999"
IN_GLOW_W = "0.200000"
IN_GLOW_H = "0.500000"
IN_GLOW_GAMMA = "2.200000"
DO_VMASK_AND_DARKLINES = "1.000000"
RGB_MASK_STRENGTH = "0.100000"
VMASK_USE_GM = "1.000000"
DARKLINES_STRENGTH = "0.000000"
DARKLINES_PERIOD = "2.000000"
HALO_POWER = "0.500000"
HALO_W = "0.500002"
HALO_H = "3.500000"
HALO_GAMMA = "1.300000"
HALO_VS_SCAN = "0.800000"
DO_SCANLINES = "1.000000"
SCANLINE_DARK = "0.400000"
SCANLINE_COMPENSATION = "0.500000"
SCANLINES_BLEEDING = "0.300000"
SCANLINE_SM_TYPE = "1.000000"
SCANLINE_SM_STRENGTH = "1.000000"
DO_BLOOM = "1.000000"
BLOOM_MIX = "0.150000"
BLOOM_POWER = "8.000000"
BLOOM_GAMMA_OUT = "1.200000"
DO_CURVATURE = "1.000000"
GEOM_WARP_X = "0.500000"
GEOM_WARP_Y = "0.500000"
GEOM_CORNER_SIZE = "0.005000"
GEOM_CORNER_SMOOTH = "700.000000"
DO_BEZEL = "1.000000"
BEZEL_INNER_ZOOM = "-0.010000"
BEZEL_FRAME_ZOOM = "0.170000"
BEZEL_IMAGE_BORDER = "1.020000"
DO_BG_IMAGE = "1.000000"
AMBI_FALLOFF = "0.400000"
AMBI_POWER = "5.000000"
DO_VIGNETTE = "1.000000"
V_SIZE = "2.700000"
V_POWER = "1.050000"
DO_SPOT = "1.000000"
S_POSITION = "194.000000"
textures = "monitor_body;bg_under;bg_over"
monitor_body = "shaders_slang/bezel/koko-aio/textures/monitor_body.png"
monitor_body_linear = "true"
monitor_body_wrap_mode = "clamp_to_edge"
monitor_body_mipmap = "true"
bg_under = "shaders_slang/bezel/koko-aio/textures/background_under.png"
bg_under_linear = "true"
bg_under_wrap_mode = "mirrored_repeat"
bg_under_mipmap = "true"
bg_over = "shaders_slang/bezel/koko-aio/textures/background_over.png"
bg_over_linear = "true"
bg_over_wrap_mode = "mirrored_repeat"
bg_over_mipmap = "true"

koko-aio danny CVRainbow march03th,2023-YesBorders

shaders = "17"
shader0 = "shaders_slang/bezel/koko-aio/shaders/first_pass.slang"
filter_linear0 = "false"
wrap_mode0 = "mirrored_repeat"
mipmap_input0 = "false"
alias0 = "first_pass"
float_framebuffer0 = "false"
srgb_framebuffer0 = "false"
scale_type_x0 = "source"
scale_x0 = "2.000000"
scale_type_y0 = "source"
scale_y0 = "2.000000"
shader1 = "shaders_slang/bezel/koko-aio/shaders/fxaa.slang"
filter_linear1 = "true"
wrap_mode1 = "mirrored_repeat"
mipmap_input1 = "true"
alias1 = "FXAA_pass"
float_framebuffer1 = "false"
srgb_framebuffer1 = "false"
scale_type_x1 = "source"
scale_x1 = "1.000000"
scale_type_y1 = "source"
scale_y1 = "1.000000"
shader2 = "shaders_slang/bezel/koko-aio/shaders/shift_and_bleed.slang"
filter_linear2 = "true"
wrap_mode2 = "mirrored_repeat"
mipmap_input2 = "false"
alias2 = "shift_and_bleed_pass"
float_framebuffer2 = "false"
srgb_framebuffer2 = "false"
scale_type_x2 = "source"
scale_x2 = "1.000000"
scale_type_y2 = "source"
scale_y2 = "1.000000"
shader3 = "shaders_slang/bezel/koko-aio/shaders/in_glow.slang"
filter_linear3 = "true"
wrap_mode3 = "mirrored_repeat"
mipmap_input3 = "false"
alias3 = "in_glow_pass"
float_framebuffer3 = "true"
srgb_framebuffer3 = "false"
scale_type_x3 = "source"
scale_x3 = "1.000000"
scale_type_y3 = "source"
scale_y3 = "1.000000"
shader4 = "shaders_slang/bezel/koko-aio/shaders/halo.slang"
filter_linear4 = "true"
wrap_mode4 = "mirrored_repeat"
mipmap_input4 = "false"
alias4 = "halo_pass"
float_framebuffer4 = "true"
srgb_framebuffer4 = "false"
scale_type_x4 = "source"
scale_x4 = "1.000000"
scale_type_y4 = "source"
scale_y4 = "1.000000"
shader5 = "shaders_slang/bezel/koko-aio/shaders/avglum_pass.slang"
filter_linear5 = "true"
wrap_mode5 = "mirrored_repeat"
mipmap_input5 = "false"
alias5 = "avglum_pass"
float_framebuffer5 = "false"
srgb_framebuffer5 = "false"
scale_type_x5 = "source"
scale_x5 = "0.500000"
scale_type_y5 = "source"
scale_y5 = "0.500000"
shader6 = "shaders_slang/bezel/koko-aio/shaders/reflection_blur_h.slang"
filter_linear6 = "true"
wrap_mode6 = "mirrored_repeat"
mipmap_input6 = "false"
alias6 = "reflected_blurred_pass1"
float_framebuffer6 = "false"
srgb_framebuffer6 = "false"
scale_type_x6 = "source"
scale_x6 = "1.000000"
scale_type_y6 = "source"
scale_y6 = "1.000000"
shader7 = "shaders_slang/bezel/koko-aio/shaders/reflection_blur_v.slang"
filter_linear7 = "true"
wrap_mode7 = "mirrored_repeat"
mipmap_input7 = "false"
alias7 = "reflected_blurred_pass2"
float_framebuffer7 = "false"
srgb_framebuffer7 = "false"
scale_type_x7 = "source"
scale_x7 = "1.000000"
scale_type_y7 = "source"
scale_y7 = "1.000000"
shader8 = "shaders_slang/bezel/koko-aio/shaders/bloom_pass_1.slang"
filter_linear8 = "true"
wrap_mode8 = "mirrored_repeat"
mipmap_input8 = "false"
alias8 = "bloom_pass_1"
float_framebuffer8 = "true"
srgb_framebuffer8 = "false"
scale_type_x8 = "source"
scale_x8 = "1.000000"
scale_type_y8 = "source"
scale_y8 = "1.000000"
shader9 = "shaders_slang/bezel/koko-aio/shaders/bloom_pass_2.slang"
filter_linear9 = "true"
wrap_mode9 = "clamp_to_edge"
mipmap_input9 = "false"
alias9 = "bloom_pass_2"
float_framebuffer9 = "false"
srgb_framebuffer9 = "false"
scale_type_x9 = "source"
scale_x9 = "0.500000"
scale_type_y9 = "source"
scale_y9 = "0.500000"
shader10 = "shaders_slang/bezel/koko-aio/shaders/bloom_pass_3.slang"
filter_linear10 = "true"
wrap_mode10 = "clamp_to_edge"
mipmap_input10 = "false"
alias10 = "bloom_pass_3"
float_framebuffer10 = "false"
srgb_framebuffer10 = "false"
scale_type_x10 = "source"
scale_x10 = "1.000000"
scale_type_y10 = "source"
scale_y10 = "1.000000"
shader11 = "shaders_slang/bezel/koko-aio/shaders/bloom_pass_4.slang"
filter_linear11 = "true"
wrap_mode11 = "mirrored_repeat"
mipmap_input11 = "false"
alias11 = "bloom_pass_final"
float_framebuffer11 = "false"
srgb_framebuffer11 = "false"
scale_type_x11 = "source"
scale_x11 = "1.000000"
scale_type_y11 = "source"
scale_y11 = "1.000000"
shader12 = "shaders_slang/bezel/koko-aio/shaders/ambi_push_pass.slang"
filter_linear12 = "true"
wrap_mode12 = "mirrored_repeat"
mipmap_input12 = "false"
alias12 = "ambi_push_pass"
float_framebuffer12 = "true"
srgb_framebuffer12 = "false"
scale_type_x12 = "source"
scale_x12 = "1.000000"
scale_type_y12 = "source"
scale_y12 = "1.000000"
shader13 = "shaders_slang/bezel/koko-aio/shaders/ambi_pre_pass.slang"
filter_linear13 = "true"
wrap_mode13 = "clamp_to_border"
mipmap_input13 = "true"
alias13 = "ambi_pre_pass1"
float_framebuffer13 = "false"
srgb_framebuffer13 = "false"
scale_type_x13 = "source"
scale_x13 = "1.000000"
scale_type_y13 = "source"
scale_y13 = "1.000000"
shader14 = "shaders_slang/bezel/koko-aio/shaders/ambi_temporal_pass.slang"
filter_linear14 = "true"
wrap_mode14 = "clamp_to_border"
mipmap_input14 = "false"
alias14 = "ambi_temporal_pass"
float_framebuffer14 = "true"
srgb_framebuffer14 = "false"
scale_type_x14 = "source"
scale_x14 = "1.000000"
scale_type_y14 = "source"
scale_y14 = "1.000000"
shader15 = "shaders_slang/bezel/koko-aio/shaders/isrotated.slang"
filter_linear15 = "true"
wrap_mode15 = "mirrored_repeat"
mipmap_input15 = "false"
alias15 = "isrotated_pass"
float_framebuffer15 = "false"
srgb_framebuffer15 = "false"
scale_type_x15 = "viewport"
scale_x15 = "0.100000"
scale_type_y15 = "viewport"
scale_y15 = "0.100000"
shader16 = "shaders_slang/bezel/koko-aio/shaders/final_pass.slang"
filter_linear16 = "true"
wrap_mode16 = "mirrored_repeat"
mipmap_input16 = "false"
alias16 = "final_pass"
float_framebuffer16 = "false"
srgb_framebuffer16 = "false"
scale_type_x16 = "viewport"
scale_x16 = "1.000000"
scale_type_y16 = "viewport"
scale_y16 = "1.000000"
DO_CCORRECTION = "1.000000"
SATURATION = "0.950000"
CONTRAST = "-0.020000"
BRIGHTNESS = "-0.020000"
TEMPERATURE = "6100.000000"
GAMMA_OUT = "0.415000"
DO_FXAA = "1.000000"
DO_NTSC_ARTIFACTS = "1.000000"
NTSC_FILTER_SCF = "5.360002"
NTSC_MIX = "0.750000"
DO_SAT_BLEED = "1.000000"
SAT_BLEED_STRENGTH = "1.900000"
DO_SHIFT_RGB = "1.000000"
OFFSET_STRENGTH = "1.000000"
SHIFT_B = "20.000000"
DO_IN_GLOW = "1.000000"
IN_GLOW_POWER = "1.750000"
IN_GLOW_W = "0.200000"
IN_GLOW_H = "0.500000"
IN_GLOW_GAMMA = "2.200000"
DO_VMASK_AND_DARKLINES = "1.000000"
RGB_MASK_STRENGTH = "0.100000"
VMASK_USE_GM = "1.000000"
DARKLINES_STRENGTH = "0.000000"
DARKLINES_PERIOD = "2.000000"
HALO_POWER = "0.500000"
HALO_W = "0.500002"
HALO_H = "3.500000"
HALO_GAMMA = "1.300000"
HALO_VS_SCAN = "0.800000"
DO_SCANLINES = "1.000000"
SCANLINE_DARK = "0.400000"
SCANLINE_COMPENSATION = "0.500000"
SCANLINES_BLEEDING = "0.300000"
SCANLINE_SM_TYPE = "1.000000"
SCANLINE_SM_STRENGTH = "1.000000"
BLOOM_MIX = "0.150000"
BLOOM_POWER = "8.000000"
BLOOM_GAMMA_OUT = "1.200000"
DO_CURVATURE = "1.000000"
GEOM_WARP_X = "0.500000"
GEOM_WARP_Y = "0.500000"
GEOM_CORNER_SIZE = "0.005000"
GEOM_CORNER_SMOOTH = "700.000000"
DO_BEZEL = "1.000000"
BEZEL_INNER_ZOOM = "-0.010000"
BEZEL_FRAME_ZOOM = "0.170000"
BEZEL_IMAGE_BORDER = "1.020000"
DO_BG_IMAGE = "1.000000"
AMBI_FALLOFF = "0.400000"
AMBI_POWER = "5.000000"
DO_VIGNETTE = "1.000000"
V_SIZE = "2.700000"
V_POWER = "1.050000"
DO_SPOT = "1.000000"
S_POSITION = "194.000000"
textures = "monitor_body;bg_under;bg_over"
monitor_body = "shaders_slang/bezel/koko-aio/textures/monitor_body.png"
monitor_body_linear = "true"
monitor_body_wrap_mode = "clamp_to_edge"
monitor_body_mipmap = "true"
bg_under = "shaders_slang/bezel/koko-aio/textures/background_under.png"
bg_under_linear = "true"
bg_under_wrap_mode = "mirrored_repeat"
bg_under_mipmap = "true"
bg_over = "shaders_slang/bezel/koko-aio/textures/background_over.png"
bg_over_linear = "true"
bg_over_wrap_mode = "mirrored_repeat"
bg_over_mipmap = "true"

Thanks again to creator for this very awesome project with variety of presets available.

Have fun

4 Likes

Ahah, thank you. I’m laughing because I was just working on this:

What I was trying to do is to selectively blur artifacts more so that waterfalls have a more solid look.

by comparison:

3 Likes

There’s this little modest playthrough to showcase the new CompositeVideo+Rainbow filter in Sonic 3 complete, Sega Genesis: https://youtube.com/live/1JdgH-NZk5s?feature=share

Related to the post:

Filter used from post above is: koko-aio danny CVRainbow march03th,2023-NoBorders

I hope it helps out a little bit to make more visible your content @kokoko3k

Some specific times to showcase the Rainbow banding, in timestamps like:

OR (see the walls to check how the rainbow banding is flickering)

I simply cannot express how orgasmic this experience has been to see the rainbow colors to be showcased from time to time in some objects that have transparencies. This artifact gives such an old school vibe that I couldn’t ever see again in HD-like content since 2000 and onwards. Thanks again for your amazing presets bud. I hope many more people can reach out your content and give you a lot of love for it.

4 Likes