Koko-aio shader discussions and updates

Thank you very much, looking forward to see new content!

I’ve seen you opened an issue on github; i’ll take a look tomorrow.

Btw, if i’m not wrong, the version on retroarch is the same as 3.0 on github.

If you want the latest changes, just fetch the latest master branch.

1 Like

I keep reading users comparing my shader to the suite by HSM, so I think I’ve to point out something about Mega Bezel shader.
Yes, koko-aio may be faster, but in all fairness, not only Mega Bezel has been my main ispiration when it comes to the bezel and reflection appearance in koko-aio, but it literally incorporates some of the greatest shaders and presets (where in koko-aio you are limited to koko-aio code itself), provides high quality reflections and generates the monitor frame in real time right in the code, this is crazy wonderful, because that way it is resolution independent and pixel perfect at any resolution.
Not only that: it allows you to change the look and the shape of it by just modifying simple, for what is possible, parameters via a simple text file.
Last but not least, as I already wrote here and there, HSM gave me valuable advices and allowed me to rip his work to translate it to a simpler, but fixed png file.

Hats off.

Granted, this alleviates the work that the gpu has to do, but on the other side, by using that shortcut, that work is actually shifted on the shoulders of the users that want to further customize the bezels in koko-aio to their needs; it is a trade-off: lightness for flexibility.

8 Likes

Hahaha, I even did not realize that your‘re the owner. I will check again, I went for the wrong presets in the subdirectories, I guess. Many thanks again!

And yes, these Mega Bezels rule, but no chance to have them performing on current Mac Silicons.

Ok, if you’re going to customize the frame, be sure to read docs.md where it explains briefly how the png color channels are used by the shader to draw highlights, reflections translucency etc.

“Source” layered Gimp file is included in the master repo.

4 Likes

The docs are great btw! I think that I figured out the most important things :slight_smile:

1 Like

Hi there,
Version 3.5 is up on github and should be available via online updater in Retroarch too shortly.

Relevant changes follow:

  • Add a parameter to auto-compensate for scanline brightness loss
  • Add a “luminance” control that does not clip
  • Allow to compensate for brightness loss in vmask and darklines
  • More tighter base presets
  • Allow to choose between 3 slotmasks type in sync with scanline height and update presets to use them
  • New parameter to balance halo versus scanline deepness
  • Add a new “PAL” preset that remembers me of my old PAL tv
  • Initial support for NTSC color artifacting
  • Fixed monitor png frame aspect
  • Auto handle background image rotation for rotated games
  • Preset updates to use new features.

With this release, due to new code added and the need to add a whole new pass to the pipeline, I observed an increased gpu use of about 5…7% on 1080p on my Haswell IGP, sorry about that :confused:

monitor-slotmask-bloom-bezelwider - Arcade - Final fight

monitor-Commodore_1084S-wider - Amiga - ProjectX SE

tv-PAL-my-old - Master System - Trans Bot

tv-NTSC-1 - Genesis - Sonic 2

tv-NTSC-2 - Snes - Aladdin

tv-aperturegrille-bloom-bezel - Amiga - Leander

12 Likes

Nice to see that rainbow banding effect in the Sonic 2 waterfall shot, I’m definitely a fan of your shader presets they give off a nice nostalgic vibe.

1 Like

Oh, thank you so much.
Nostalgia pushed me since the beginning, and after all it is all about that.
Just to say one, I made the pal preset to play transbot as I did 30 years ago on Master System I received for Christmas :slight_smile:

2 Likes

Nice man, I’ll be keeping an eye on this thread. I’m assuming that was an artistic choice with going with the “jail bar” look instead of blending the waterfall in more in that Sonic 2 shot?

More or less.
Yes, I don’t like the pixelated effect that happens when totally blending the waterfalls in all of the shaders i’ve seen and i’m from Italy, so i don’t really remember/know how NTSC/CVBS looks, it looked fine that way, so i stayed with it.
But to be honest, my shader is unable to selectively blend that way, this is because I’d like my shader to be as light as possible and totally usable on integrated gpus, so I take shortcuts and full ntsc modulate/demodulate passes are just not present.
Nhe NTSC function is actually a modification based on a very light/single pass shader by xot you can find on shadertoy.
By now, I provide options to do accurate color bleeding in PAL and NTSC bandwidth domain and others to modulate the rainbow “width” and to tilt it, but it does not pass the NTSC chroma/luma crosstalk test.
However, I’m personally satisfied of the overral look of CVBS emulation.
I’ve some ideas to further reduce the gpu use by taking other “shortcuts” and keep the actual functionalities, but I doubt I’ll ever improve the correctness of the NTSC emulation, due to lack of motivation and heaviness of such implementations.

2 Likes

Cool. I have the version available in the RetroArch online update. When downloading from GitHub more files come. Can you explain to me how I do the installation?

Pixelated look? Wouldn’t it become more smooth looking since those pixels are being blended? That’s the look I went for with my composite ntsc “2phase” shader presets my shader preset pack.

I understand about keeping the shader as light as possible, I was messing around a few days ago adding in both the scalefx and xbrz freescale shader on my presets for a smoother upscaled image, it came out looking excellent but then my system couldn’t handle it so I ended up scraping the whole idea, for now at least.

1 Like

Either you wait a bit for them to come in Retroarch, or you can grab the 3.5 release from github and unpack it somewhere in your -already in place- slang shaders folder.

1 Like

wops, missed that very same screenshot on sonic 2, looks really nice indeed, and what a nice research on 2/3 phase systems, very informative!

1 Like

Thank you, I plan on releasing a new updated shader pack real soon (this week hopefully) that looks even smoother and vibrant, can’t wait to release it on you all soon lol. And yeah, I sum up the 2-phase and 3-phase ntsc system as one being vertical rainbow/artifact/more blended effects (2-phase) and one being diagonal rainbow/artifact effects/less blended (3-phase).

2 Likes

Wow! This changelog reads like my wishlist from a year ago!

This is amazing performance! Have to give this a try sometime. I guess no one has to be left out of the high quality CRT emulation experience even with Bezel Reflections included!

This is some motivation right here to finally replace my broken laptop screen’s hinge.

When I see output like this. I think retirement.

Great work!

3 Likes

Thank you, but I’m not saying the gpu usage is 7%, I meant it went up by that versus the previous release, lol! On that igpu it reaches abput 90fps so the gpu usage stays around 65% for 60fps/240p content at 1080p.

1 Like

I understood this. However this is still the first time that I’m learning that this brilliant piece of work runs on an IGP, hence my pleasant surprise and elation, despite the performance regression.

1 Like

Hi kokoko3k , congrats on your awesome update, it’s quite a leap forward in terms of quality and beauty. I loved being able to choose the style of slotmask I prefer, and while you’ve seen higher CPU usage, personally the performance for what you offer is still outstanding. Congratulations and thank you very much for your work. I think you’ve peaked by now, I can’t imagine what else you could work on with this shader. Top!

1 Like

Truly excellent shader, especially considering the quality vs performance. A quick questions: I use a modified version of CRT-Universal for most of my imaging needs (vignette, colour, blurring) - is there a chance I can just insert this as a pass within your shader to use it with some of your features (background, bezel, mask)?