Koko-aio shader discussions and updates

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

Ooh, nice. It is a good feeling to know someone is having such a good time thanks to your work. You made my day, thanks!

2 Likes

Greetings boss or anybody else. I would like to know if there’s some way to make it fit to use these presets alongside MegaBezel OR Soqueroeu’s TV layouts.

I have managed to fit somehow one of the presets with some of the Soqueroeu’s layouts but it took quite some time. I’m not sure if its this long to just make it fit with one customized TV layout or there’s some way easier to do it. I had to sacrifice some of the reflections in order to make it fit.

I like default option to this default grey image on both left and right sides, but I really love the TV reflections in all the edges of game screen and would love to have more TV’s variability.

Thanks for any help.

1 Like

Hi there,

you can have reflections on all of the borders if you zoomout the content and the bezel.

Take a look to the commodore 1084s provided preset, it is a good start point.


or even to the work done by @estefan3112 in his fork (screenshots, presets),

Or presets adapted by @Starman99x

The way they are done are basically to take a png file and put an hole in it via alpha channel, then it is a matter of editing the preset by modifying:
bg_over = "textures/background_over.png"
…and aligning things and probably coloring the bezel reflections to match the png via controls in bezel section of koko-aio.

I hope I’ve answered to the question.

4 Likes

Hey boss hello again, do you mean doing this job ? It’s what I attempted to make it fit with your preset. Even though, I did not tweak any preset option(s) but just had to go very slowly to fit it all on the png.

2 Likes

Yes, but modifying the png to make it fit is overkill!

Just put an hole in it and then modify the preset to align everything; once satisfied, save and enjoy :wink:

1 Like

I mean, I made the alpha channel hole but what took quite a while was fitting it perfectly with video scaling > X,Y positions

1 Like

Nice job!

I made the step of those settings extremely tiny on purpose, so that you can align everything perfectly, but if you have suggestions to make the process faster, i’m here.

3 Likes

3.9 is up on github.

Even if there are a lot of changes, the overral look is the same as before, and other changes are difficult to show in still images.

Eg:
The bloom (visually improved, expecially for big sizes) can be temporally smoothed depending on the zone luminance to mimic the eye that adapts to new light conditions with a configurable inertia, speed and amount.
I enabled that in presets with conservative values, but you can have fun modifying the parameters.

The full screen zoom/glow that depends on the image luminance is now temporally smoothed too, to give a nice effect of “entrance” when brightness suddently goes up.
Bezel reflections has been modified to reflect that.

Other notable addition are the ntsc artifacts that can be used to modulate the blur strength (this is a last minute change which is nice to have, but not perfect).

Other tweaks here and there added because of your suggestions/requests like RF noise, the ability to shift and zoom the whole screen, the (static) support for backdrop images for games that used mirrors to overlay graphics over static backgrounds.

Also, i’m proud to say that performance penalty seen in 3.5 over 3.0 not only has been fully recovered, but 3.8 performs even better than 3.0 with the same features enabled.

I’ll take a final look tomorrow to double check everything is fine and will try to put everything on retroarch.

If you find something that needs to be adjusted/corrected, please let me know!

Edit:

3.9.01 released today with some very minor changes over 3.9 and has been just merged into retroarch bundled shaders.

Have (and share) the fun!

12 Likes

Hello Kokoko3k - just one thing I want to say : thank you very much. This update has taken your work to the next level. Now after a lot of wandering around the forum, I have found my goal. This is your “tv-slotmask-bloom” preset with slotmask number 2 and a slight lowering of the saturation value.

The images speak for themselves, and the performance is even better than before. I am now a regular customer of yours, fantastic job.

3 Likes

Great!

Just one thing, the slotmasks preset parameter only works when enabling scanlines, since is intended to reduce moiree when drawing scanlines gap. From what i see from the screen you posted, and by the fact you’re using Tv* presets, the scanlines are not active.

It is not a problem since those screens look great, but just for reference, if you want to modify the mask when not using scanlines, you just have to tweak the parameters in RGB Masks and/or Darklines group:

2 Likes

You are right, sorry for my ignorance. In the end at the same preset I brought the saturation to 1.00 and the gamma out to 55. It’s even better than before like this, and I don’t want to touch your settings (apart from these filings) because it’s perfect for my taste. Great job, they should make you a gold statue.

Same changes with your “tv-aperture grille-bloom”. Lots of stuff. Perfect. I was getting excited as a teenager. If I can use your work with the WindowCaster, I’m happy.

1 Like