Please show off what crt shaders can do!

Tap on image then zoom in for best viewing. Desktop users, right click then Open in New Tab, then press F11 for FullScreen. Non 4K users, zoom in until it looks correct.

5 Likes

Crt-sines glsl downscaling scanlines on flycast on my s7 edge humble Mali t880. That phone has a 1440p screen, incredible image quality it also seems to have a good response time.

5 Likes

Sines ftw!

“downscaling scanlines”?

Ps: something not quite right near the upper/lower border of little text chapter,date,score

2 Likes

Yes because it is 480p Dreamcast downscaled to 240p with scanlines so it looks a bit strange in small letters

3 Likes

gizmo-crt n64-curvator preset, mupen64plus-next, GlideN64, Zelda MM, native res 320p.

Compared to „hires“:

Source: https://www.cgmagonline.com/news/the-legend-of-zelda-majora-february-2022/

4 Likes

crt-lottes-fast with “prescale2x” i uploaded to the repository (in interpolation directory). Normally that shader is very, very blurry. Definitely needed this.

3 Likes

2 Likes

CRT-Geom with prescale 2x axis. That excessive blur is gone, now it looks stunning, like an RGB monitor :wink: Superb pixel blending and clarity. This is definitely one of the best shaders around, top 3 or top 5. CRT-Geom is very heavy to say the truth, my laptop kneels to it on HD630 (350 gflops) battery mode :stuck_out_tongue: My cellphone barely runs it and it has 500+ gflops

3 Likes

The CRT-Lottes Fast slang file funnily says this

// Horizonal scan blur

  • // -3.0 = pixely

  • // -2.5 = default

  • // -2.0 = smooth

  • // -1.0 = too blurry

#define INPUT_BLUR (-1.0 * params.SCAN_BLUR)

You can already get rid of blur by setting to smooth, I can’t see a difference between it and default, maybe subtle if zoomed in. Should be said here that CRT-Lottes-Fast also has a sharpness parameter already exposed so it’s possible to tune to some extent, but not enough to compensate for changing directly in the slang.file or using prescale. Here -1 (default) and changed to -2,5 (“true” default)

There is also a scanline setting that is not exposed in the parameters:

/ Scanline thinness

  • // 0.50 = fused scanlines
  • // 0.70 = recommended default
  • // 1.00 = thinner scanlines (too thin) #define INPUT_THIN (0.5 + (0.5 * params.SCANLINE_THINNESS))

You can see a clear change, e.g. here to 0.2:

2 Likes

I just peeked at the shader code, and the parameter ranges exposed should fit those recommended ranges after calculation in the macros.

And I’m not sure what you mean by the thinner scanlines setting not being exposed in the parameters, since it has a parameter right there in the macro. Am I misunderstanding something? :slight_smile:

1 Like

Do you mean it’s useless to change it because the parameters should allow it? I can’t see this to be true for the sharpness, I haven’t tried this with the scanlines, I just noticed that the default scanline look is different, while the parameter (scanline intensity) stays the same, so I was thinking the “starting point” is moved.

Edit: Ah yes, I see what you mean. Yes, the calculated sharpness is correct, it’s results in the default 2,5, it’s just that I (and Darius I guess) thought this is already “too blurry” :sweat_smile: I thought the shader comments refered to the “input blur” factor itself.

2 Likes

Context: 1080p, desktop size/distance PC monitor non-integer scaled, guest’a advance shader + image adjustment: open in a new window + fullscreen!

for a comparison this is the raw output:

5 Likes

This is so nice to look at!

3 Likes

It is FF5 (PSX) of the color scheme of Super Game Boy. :rofl: 2023-05-07-9
mourn

I’m sharing the LUT because some people may want to use Super Gameboy colors on non-Gameboy monochrome handhelds.
Please note that this is not a pure SGB 1-A color but a tint with a BNES LUT applied.

6 Likes

I know this is a stupid question, but do SLANGP files support comments?

Here is my contribution:

3 Likes

Yep just put a "// " at the beginning of the line. I thing there might also be another way.

1 Like

You can use hash symbols also. ### but I find it visually confusing next to #include, #pragma, #define, etc.

You can also put /* on the line before a paragraph and */ on the line after the paragraph.

1 Like

For presets, RetroArch will take any C/++ syntax comment, but I believe some third-party parsers will choke on anything that’s not #

4 Likes

4 Likes

The “ossc” shader i uploaded to GLSL/SLANG (inside folder “scanlines”) running Hatari with Catmull-Rom as 1st pass (GLSL showed here). Shader will auto integer scale (code from GDV), you choose how many lines you want to tweak etc. You have full control over scanlines-perfectly aligned as it’s integer.

Hatari running at high resolution mode as “ossc” scanlines won’t care about the input resolution anyway :wink:

8 Likes