Showcase for RetroArch Shaders 2024

Hi ya’ll, I finally managed to finish my new blog post about Shaders in RetroArch. It’s the usual stuff with comparing screenshots and pixel peeping. Focus is on standard Shaders without bezels that come with RetroArch. On the last page (yes its multiple pages long this time) are shout outs to some popular community presets.

We are discussing and compare in 4 different resolutions, crt, handheld, dithering and smoothing effects. Sets are also uploaded to imgsli . com, as it is superior for comparing fullscreen images with its ability to zoom freely.

1440p/King of Fighters 99 #Rainy Day/nearest:

1440p/King of Fighters 99 #Rainy Day/presets/crt-royale-ntsc-svideo:

1440p/King of Fighters 99 #Rainy Day/nearest-crop 1440p/King of Fighters 99 #Rainy Day/presets/crt-royale-ntsc-svideo-crop

Yes, I pretty much use CRT-Royale still. Its actually pretty good. I wasn’t much active in recent times and saw lot of improvements and changes in the community. I’m looking forward to check them out soon.

9 Likes

Beautiful post, I had fun going through every page. Once again I love that slider that you use to compare shader images, looks amazing in action and thank you for the shot out to my presets and everyone else’s on the last page. You even used my current favorite Sonic 2 screenie with the rainbow waterfall haha. Good stuff here man.

3 Likes

Thanks. I know you like the rainbow effect. Always think of you when I see that in games, lol. Originally I had planned to include community presets as well, but the scope quickly became bigger and over my head.^^ But its not the last post for sure.

Currently I’m still sticking to Royal. Looking foward to whats new in the community. These posts are also a reminder to myself how much variety exist.

2 Likes

Nice, guess I’ll become rainbow-kun lol. I imagine it took a bit of time to put this one together and even then you still couldn’t fit everything in, might be better that way so that you can put more focus and add even more into the next post you make. Either way I’ll be looking forward to the next one.

1 Like

I only imagine the hard work you did to publish all those comparisons! It’s very nice to see them. They represent more than a decade of community work.

Thanks for posting!

3 Likes

Awesome work!

Very useful for new and “not so new” users, hope it will be somehow made visible in Retroarch’s blog and site/reddit!

3 Likes

Check your paragraph about “Integer Scale” :wink:

1 Like

Hi Jamirus, do you refer to this part? I looked at it again and can’t see it. Is there something wrong or unusual?

Integer Scale : Generally I have integer scaling enabled. Game view is scaled by a factor of whole number. In example if game resolution is 320×240, then on a 1280×720 output resolution game view would be scaled up to 640×480 (result of x2, because x3 would no longer fit into 720p). Which will leave black bars. Some Shaders work best with integer scaling set to on, others are designed to handle both cases.

Oh wait a second, that’s an embarrassing simple math error, right? 3*240 is indeed 720. I have to go and check again what I was thinking there.

Edit: I updated that paragraph. Thanks for pointing out that oversight. Its now following:

Integer Scale :I force integer scale to on, so game view is upscaled in whole number only. This guarantees pixel perfect scaling, but will introduce black bars around the image. In example if original game is rendered at 320 × 224 and output resolution of your monitor is 1280 × 720, then game is upscaled up to 3 times: 224 * 3 results in 672 to fit into 720p. Some Shaders work best with integer scaling.

1 Like

Hi there, great post!

Also, thank you for including koko-aio among the shaders. However, there’s a little inaccuracy.

The bezel itself is not “automatically generated”, as it uses luts, nor it shares any code with Mega Bezel.

2 Likes

Thanks for reading and for pointing out the issue! I probably misunderstood this part from the Github repo:

“Bezels with realistic reflections (Thank you HyperspaceMadness for allowing me to rip his automagically generated bezel!)”

So you generating them beforehand and then take resulting images in your project, not the code itself. Is that correct? So your set runs indipendent from Mega Bezel? I will update the text once this is confirmed. Sorry for misinformation, should have read more carefully!

Edit: Description updated.

If anyone finds wrong information or just want me to describe it in a different way, please tell me (comments, pm or other communication method).

1 Like

You’re welcome!

Yup, I asked HSM to reuse what his shader is able to produce in real time, but just as a PNG. Under the hood the projects are totally different.

2 Likes

Great work and thanks for the mention and recognition of various community efforts.

I still have to set aside some time for a full read through but on the surface I noticed a couple things.

“members are constantly finetune” might need to he changed to “members constantly finetune” for it to make sense with the rest of the sentence.

Secondly, you focused on my CyberLab Mega Bezel Death To Pixels Shader Preset Pack which is something that I don’t really use much anymore as even more satisfying and impactful results can be achieved using HDR to increase the brightness of displays to compensate for so I’ve been mainly using, updating and maintaining presets based on Sony Megatron Color Video Monitor in conjunction with other shaders. Even if you don’t have an HDR display but have the privilege of owning a very bright non-HDR display, you can give Sony Megatron Color Video Monitor a try and some of the presets and preset packs which use it at its core.

Using HDR and high screen brightness to compensate for brightness loss due to opaque Mask and Scanline Gaps is a relatively new concept which had been pioneered by @Nesguy and @MajorPainTheCactus as far as I know. It took me a while to get into it because I was so invested in Mega Bezel and found it difficult to achieve good results with the Megatron shader for years until I helped uncover major bugs, then contributed to improving the shader to support a subpixel layout which can match WOLED Displays which was already in place in CRT-Guest-Advanced and by extension Mega Bezel.

There has definitely been a pivot from the Mega Bezel Reflection Shader to the Sony Megatron Color Video Monitor Shader and my preset packs which are based on that (in tandem with CRT-Guest-Advanced-NTSC, Super-XBR, Grade and IMG-Mod) are what I consider my main shader preset packs, while my Mega Bezel project is just a huge sandbox which I almost can’t believe I built and people have come. I doubt I’ll ever take that approach again with any Shader Preset project as it seems too intimidating to many and maintaining it was not the most trivial task but before things like boiler plates and wildcards were a thing, I looked to fully exploit the power of simple presets so many presets build from and borrow settings from other presets, it’s really highly integrated and intertwined and doing it like that, so seemingly complicated actually made it easy to bring support for so many different varieties of display types and hardware while maintaining relative consistency.

While I primarily use a 4K display for my development and testing, I have at times used a 1080p display as well and my preset packs support 4K, 1440p as well as 1080p. For my Mega Bezel presets pack, there are dedicated folders for each supported resolution. For my CRT-Royal Preset Pack, there are instructions for users of 1440p and 1080p displays on the one setting they might have to change for the presets to look great on their displays. Even low end displays which can’t do RGB 4:4:4 Full are supported and the appropriate settings for those displays can be found in my thread.

With that said, I’ve begun to realize that other shaders (including Mega Bezel) greatly benefit from enabling HDR in the Settings–»Video–»HDR menu even on low end HDR400 displays. I call this the hybrid approach of mixing traditional darkness mitigation techniques with the more modern HDR techniques.

That forms the basis of my latest Mega Bezel Preset Pack update, which requires Mega Bezel v1.14.0 not the most up to date one from the Online Updater.

Another great thing about the Sony Megatron Color Video Monitor is its extremely low system requirement due to the display doing a large portion of the heavy lifting.

2 Likes

Hi Cyber, thank you for your feedback. (Man I sound like someone from a support team or something :D) I appreciate the small corrections alongside any other brought up topics.

You are right, it was probably inappropriate to just pick one package and ignore the rest. To be honest, it was a bit overwhelming during my research for all community projects. Finding the essence for each project without being involved is not that easy. I’ve updated the paragraph and hope this reflects better what the project stands for. Especially for complex projects.

I personally don’t have a HDR capable monitor. So by default, I ignored everything about this topic. Which is probably unfair to the reader and community in a listing like I did. BTW the low system requirements of the Megatron package, because the monitor is doing the heavy lifting with HDR is also something I didn’t think of! It makes so much sense.

BTW I totally appreciate the new focus on Github hosting! This was one of the reasons why maintaining updates of multiple community package installation was a hard thing for me.

3 Likes

It’s okay, these things tend to reward the curious though.

You don’t even need an HDR display, just a bright enough one. Even a laptop or cellphone screen should be fine. At the moment I’ve been working on my CyberLab Megatron NX W420M Death To Pixels Shader Preset Pack which I use on a non-HDR TV. You have to use the controls of your display to brighten things up though.

Hmmm…what was once new is now old as I’ve shifted back to Mega for my newer Megatron presets. This is mainly due to time constraints.

Out of those, my first Megatron Preset Pack might be best for mobile or less powerful devices. I would like to update the installation to include the CRT-Guest-Advanced-NTSC shader in a dedicated folder so that users don’t have to overwrite their releases downloaded from the Online Updater but I was a bit hesitant as that might invalidate the RetroCrisis Installation video. It is something that I think I’ll do though.

I have already done this for my latest W420M Shader Preset Pack.

Just because my focus has shifted away from Mega Bezel doesn’t mean it’s suddenly obsolete or deprecated or anything. It’s like a good CRT or rather a collection of many and some users are really into the reflective bezels and overlays.

Anyway, thanks for listening to the feedback and for doing your part in spreading the word.

3 Likes