New CRT shader from Guest + CRT Guest Advanced updates

Seems like the same issue is present with that difficult to remove “bridge” between the legs of the “m”. Higher Artifact values start to remove it, exactly like in 2025-11-16-r1, but the cost at least in 2025-11-16-r1 was increased flickering and noise in the blended areas.

I haven’t tested blending in this test version though.

Dither pattern blending seems to be behaving similarly to 2025-11-16-r1

3 Games in 1 - Gate of Thunder + Bonks Adventure + Bonks Revenge (USA) (Rev 1)-251125-145035

Seeing that the implementation in 2025-11-11-r1 worked very well in this scenario, would it be possible going forward to have the ability to toggle between 2025-11-11-r1 and 2025-11-16-r1 implementations if you can’t find a “one size fits all solution”?

Let me share the additional screens I use to test dither pattern blending in Turbo Duo/PC-Engine games.

3 Games in 1 - Gate of Thunder + Bonks Adventure + Bonks Revenge (USA) (Rev 1)-251125-154234

3 Games in 1 - Gate of Thunder + Bonks Adventure + Bonks Revenge (USA) (Rev 1)-251125-154332

3 Games in 1 - Gate of Thunder + Bonks Adventure + Bonks Revenge (USA) (Rev 1)-251125-154354

3 Games in 1 - Gate of Thunder + Bonks Adventure + Bonks Revenge (USA) (Rev 1)-251125-154420

The offset yellow and black square pattern in the bottom-right quadrant of the bay doorway tends to get blended when it really shouldn’t. Not expecting any miracles here though, just pointing it out.

3 Games in 1 - Gate of Thunder + Bonks Adventure + Bonks Revenge (USA) (Rev 1)-251125-154446

3 Games in 1 - Gate of Thunder + Bonks Adventure + Bonks Revenge (USA) (Rev 1)-251125-154512

3 Games in 1 - Gate of Thunder + Bonks Adventure + Bonks Revenge (USA) (Rev 1)-251125-154642

I also use other scenes from other games but I think once these are nailed, everything else should fall into place.

How many years now have we been so laser focused on Sonic The Hedgehog waterfalls and Streets of Rage bar lights, while so many other games and systems haven’t been given enough attention?

if there are some professional images (like the ones twitter CRTpixels did) for other games and systems then I think they will get more attention, Images are probably scattered across the internet, so it would be great to have a thread or wiki for images or videos showing games in CRT, along with connection details and other information such as if cable is original and whether there are any modifications, etc.

I think it worth testing as fast as possible :slight_smile:

1 Like

I actually did, when I was gathering my screenshots for the blending examples. I was updating my comment while you were typing yours.

While useful, in general I’m more interested in what’s possible with shaders and trying to get games to look their best while maintaining certain nostalgic cues, not just for nostalgia but because it makes the games look good.

I have seen decent CRT pics of the PC-Engine CD-ROM startup screen and everything seemed quite sharp and legible but that must be measured against if all of the checkerboard dither patterns that I am trying to blend were also blended by real CRT’s using composite input.

That’s for if we’re going after pure accuracy though. I’m after a more idealistic look if at all possible.

1 Like

Same here, Especially since I was using Sony televisions back then, which gave a clean picture even in composite and RF, but I also interested in accuracy and have it as an option and that why I have TV 480i presets which will not be good with Digital video compression, and also for many people due to flickering even if it still a necessary evil (See here) until we get adaptive deinterlacing

1 Like

@guest.r I don’t know if this was mentioned before, but I just found out about these recent videos from Timothy Lottes about CRT Spatial Scaling. It goes very in-depth into topics related to CRT shaders. The Energy Conserving Scanlines / Spatial Energy Redistribution seems very effective at preserving overall picture brightness with masks without the need for an HDR display.

Mike Chi from RetroTINK is also implementing it for his scaler: https://x.com/retrotink2/status/1992125566137602203

ShaderToy links (Public Domain / MIT No Attribution):

Does crt-guest-advanced have something similar? If not, would it be feaseable to implement?

Thanks!

9 Likes

“Everything” is blended by default, “font preservation” only “de-blends” areas with some contrast properties. And I don’t see any fonts. :grin:

I would like you to understand the situation. This is a hack, which is to be used by games with fonts blended, and not a very slow and complicated advanced heuristic. Some fonts will also not get a 100% treatment they deserve. And there are also false positives.

I can improve it to some degree, but not 100%…

2 Likes

You have to setups it with parameter settings though. Needs a bit of experience, but is doable.

3 Likes

Understood. The fonts were in the Super CD-ROM² System Screen but I included the additional dithering examples in case you wanted to see what I was describing using words in your own testing.

I understand. I’m completely satisfied with the Beta implementation of Font Preservation in 2025-11-11-r1. It does everything I had in mind and does it well. At least for now I’ll just stick with that version.

If you’re still trying to improve things beyond what was done in 2025-11-11-r1 I’ll be happy to give it a test once I have time.

Again, thanks a mil for sharing your talents with the world!

2 Likes

It is not feasible in the sense that you can’t emulate white brightness without white.

You can keep full mask for dark tones, but you have to “mitigate” it sooner or later as the source image approaches brightest ones. I believe @beans did that in a scientific manner.

4 Likes

Looks interesting tho, Is the code straight forward enough to be imported to Slang with ease?

Good contrast is worth much, regardless. You can play with guest-advanced with these setups:

scan-brightness2

A 4k display or odd integer scaling is very much preferred though.

4 Likes

The scanline implementation in crt-beans is also energy-preserving, but it uses an entirely different method than Lottes uses. The only limitation is that if you want to maintain scanline separation at full brightness, you basically turn down the brightness a bit (which it seems Lottes does as well with the 7/8 brightness limit). In crt-beans that is configurable, so you can have no brightness drop at all if you are ok with the scanlines merging at full brightness.

Actually, it is basically impossible to configure the scanlines in crt-beans to not be energy-preserving. You might be able to do it if you mess with the horizontal width after the filter pass (not applicable to the VGA preset) or if you set the parameters out of bounds. That was one of my goals during development.

The mask implementation in crt-beans is also energy-preserving on average. The unmasked scanlines get blended in when the mask gets saturated, in such a way that brightness is preserved. There is a big comment in the code explaining the math behind it. I say “energy-preserving on average” because you can lose some energy on detail finer than the mask, but that’s the case on a real CRT as well.

@ANK I hadn’t seen those videos before, thank you for sharing them!

4 Likes

I have issues with this technique. To me, this is a roundabout way of simply rendering scanlines in linear space and upscaling. The upscaling effect, when done in linear space, will cause the brighter scanlines to expand when gamma correction is applied. It won’t be as dramatic as the technique we see here, but it will be similar and IMO is more related to how the beam on a CRT actually works (240p doesn’t add more energy to the electron beam compared to 480i). It also will not affect the gamma of the signal, so no tonemapping is needed. The overall image won’t be as bright, but most displays should still be bright enough to give an acceptable image.

1 Like

You know many of these topics, ideas and concepts, discussed in the videos were actually pioneered right here on Libretro Forums, with very little fanfare.

One only has to browse this thread, the Sony Megatron Colour Video Monitor thread, many of @Nesguy’s threads, the CyberLab Death To Pixels Shader Presets thread, the OLED Subpixels: How do they work thread and @HunterK’s Filthy Pants blog and you’ll see what I’m referring to.

Summary

Major developments in CRT Shader support for OLED and HDR

New CRT shader from Guest + CRT Guest Advanced updates

New CRT shader from Guest + CRT Guest Advanced updates

New CRT shader from Guest + CRT Guest Advanced updates

New CRT shader from Guest + CRT Guest Advanced updates

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

Sony Megatron Colour Video Monitor

https://forums.libretro.com/t/sony-megatron-colour-video-monitor/36109/1219?u=cyber

https://forums.libretro.com/t/sony-megatron-colour-video-monitor/36109/1220?u=cyber

https://forums.libretro.com/t/sony-megatron-colour-video-monitor/36109/1221?u=cyber

https://forums.libretro.com/t/sony-megatron-colour-video-monitor/36109/1222?u=cyber

https://forums.libretro.com/t/sony-megatron-colour-video-monitor/36109/1258?u=cyber

https://forums.libretro.com/t/plainoldpantss-shader-presets/45498/156?u=cyber

In early 2022 we knew very little about getting WOLED TVs to work properly with subpixel level CRT shaders. At first we were limited to using B&W masks and almost everyone thought the white subpixel was interfering with things and needed to be controlled, turned off or at least better understood.

Fast forward to today and now we know that the white subpixel isn’t active at all during subpixel Accurate CRT Shader rendering:

https://forums.libretro.com/t/sony-megatron-colour-video-monitor/36109/1579?u=cyber

https://forums.libretro.com/t/sony-megatron-colour-video-monitor/36109/2186?u=cyber

Here are some examples of “Energy Redistribution” scanline dynamics from months ago:

This is another method of “Energy Redistribution”.

https://forums.libretro.com/t/guest-advanced-4k-hdr1000-experiments/48725/41?u=cyber

5 Likes

I know. I’ve been using RetroArch and experimenting with shaders for quite a few years now, and I really appreciate all the hardwork that members such as you, @guest.r, @Nesguy, @hunterk, @anikom15, @beans and others put into researching, programming, and advancing the whole field of CRT shaders. I just wanted to share something I found interesting that might help with future developments.

3 Likes

Yes thank you for sharing because I had not seen it and I wasn’t aware of these hardware upscalers. It’s good to expand the knowledge and get a sense of what others are doing outside these forums. The aspects that relate to what @beans is doing with his shader seem physically sound. It may just be the wording that’s questionable (‘shift energy from empty area’); would have to dive into the algorithm to know for sure.

3 Likes

Devil's Crush (USA)-251127-015711

Here’s another font example where the “m” can easily get lost due to blending. I had to turn Artifacts up to 1.0 to make this one legible. I could have gotten it clearer but I didn’t want to go overboard and risk introducing more flickering artifacts in blended areas.

I haven’t noticed any distracting flickering in this game though and with Artifacts at 1.0 it should be very mild in games in which some noise/flicker might be visible in the blended areas.

I must admit it feels kind of weird having sharpness and clarity (especially of fonts) improve as artifacting increases.

1 Like

I suggest you use the version that works best for you, at least for now. Latest version is quite good for Genesis games like Ys 3, Landstalker, Phantasy Star (Stories) and some other games, which use “fonts”. Will see if i can improve it further.

2 Likes

Yeah I tend to just shrug when I see posts like this because it’s stuff we’ve been doing with guest-advanced and other shaders for years, although in a slightly different way. These upscaler folks get excited over the littlest things. :slightly_smiling_face:

edit- it’s always interesting to see a new method, though. Didn’t want to sound dismissive.

4 Likes

I appreciate when things are delivered in a clear and concise manner and Mr. Lottes seemed to have done this well here, however I don’t like when they fail to acknowledge the “litle guys” who are some of the true pioneers and the fact that this is nothing novel then it get’s passed off as the latest or next big thing with some even profiteering off of the knowledge and prior art as well.

We have to always be vigilant as well because while this is all fun and games and about community (at least for now), this segment of the gaming industry is now starting to realize it’s commercial potential.

How would you feel knowing one of your original ideas has now been patented by someone or some company who might have a name or more resources behind them?

Trust me, it’s not a nice feeling when someone does what you couldn’t do and steals your intellectual property then starts to make money off of it and you’re not even mentioned, recognized or paid a cent.

4 Likes