Another fast CRT shader

I’ve been using this a lot more than I expected, it’s great considering how light and easy to run it is. Thank you for making it.

3 Likes

Hello guys! I’m about to get Anbernic RG406V, which has a 960×720 screen resolution, and I’d love your suggestion on which version of the shader would be best suited for this device - would you recommend using fakelottes-geom-mini or fakelottes-geom for a 720p screen? Does ‘mini’ means it’s made for handhelds? Geom (not mini) says in description about sub-HD res

Thanks in advance for your advice and for creating such a fantastic-looking shader!

For those of you who, like me, appreciate the look and speed of Fakelottes, I created a shader preset that also adds a lightweight NTSC shader pass to it, which will add the characteristic Composite or S-Video look and allow it to better display effects like the iconic Sonic Waterfall.

The NTSC shader pass I used is not resource-intensive, I used the lightest one I found but that still provided a consistent look between the GLSL and Slang versions. More advanced NTSC shades would give a better and more accurate look, but they also are more demanding (like ntsc-adaptive.slangp), so I gave up on using them since the focus here is on being lightweight and fast.

It still ran on a cheap low-end Android device from 2021 that I had (that according to some reviews I read, apparently is comparable to the Raspberry Pi 4 in performance), so I thought more people might appreciate it and submitted a PR to the repository some months ago, already merged.

You can find it in /shaders_glsl/presets/fakelottes-ntsc* if you’re using GL as video driver, and in /shaders_slang/presets/crt-plus-signal/fakelottes-ntsc* if you’re using Vulkan, GLCore or D3DXX as video driver.

5 Likes

Just to add some extra info to my comment above. By default, it doesn’t do the dithering effect that well, but you can change that by going to Shader Parameters>Luma Resolution.

The default value is set to 1.60, and it looks like this:

With it set to 0.80, it looks like this:

I didn’t change this in the preset because I think it’s up to the user to decide how they want the image. I like Super Nintendo games with the default value of 1.60, but I prefer Genesis/Mega Drive games at about ~0.80.

Also, I want to give a big thank you to metallic77/DariusG on GitHub, who developed the ntsc_module.slang for his CRT-Consumer-1w shader, and allowed me to use it in this preset for Fakelottes (originally, I used the great ntsc-adaptive.slangp, but unfortunately it caused a performance hit on my weak Android).

4 Likes