Please show off what crt shaders can do!

Oh, OK – absolutely do not mean to ‘correct’ something you did wrong. Color correction is a technical term. I added this pass because its goal is to interpret the NES color palette in a way that is presumably accurate. That’s what the NES RAW palette attempts to do and I wanted to incorporate it.

2 Likes

gizmo-slotmask-shader

PSX


N64 - mupen64plus-next, gliden64, nativres1, 320p

NES

master system

5 Likes

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.

4 Likes

crt-beam after re-write (glsl)

9 Likes

5 Likes

‘GDV’ featuring recent features…mask zoom, magic glow (used for mask mitigation) and the new no-scanline mode.

13 Likes

I think this is the first time I’ve ever seen you post in the “show off” thread like this since this thread was created so your post is legendary in itself in that regard.

1 Like

This seems to be a rounding issue, but it is visible only on certain patterns, do you have a clue?

Screenshot_20230526-055330_Lightning

…speaking of the red column that appears to be ‘staggered’ across the wrong axis, but i’m unable to spot a pattern when it is mixed with another color :thinking:

Screenshot_20230526-060236_Lightning

1 Like

Nothing really unusual here, you just have to add another zoom level or use mask 9 instead of mask 6, because the mask is interpolated in this mode.

Hehe, i have already 106 posts here, was posting lots of ‘GDV’ stuff here before i got my own thread. :smiley:

Darn, i hate to write “hacks” for exceptions, but i think it looks better now:

8 Likes

If better means perfect, then yes!

1 Like

vs nearest

vs nearest

5 Likes

Any thoughts about the saturn mesh transparency? I tried to blur it without removing the mesh pattern completely. With 100% blur mesh will vanish.

Just another one. Hide N64 dithering, smooth edges and make point sampled textures look right.

No shader

Blur (gizmo-blur, blur-intensity 0.65)

Blur + scanlines (gizmo-crt, horizontal + vertical bur, blur-intensity 0.65)

Blur + scanlines + much noise pressed through a mask (gizmo-slotmask-crt)

A mask seems to deblur the output a little bit?! If i think about a slotmask a microwave ovens front door window grid pattern comes into my mind.

3 Likes

Looks pretty cool :). The only thing that I notice is that after you add the mask which is nice, is that the whites get dull and you seem to be losing contrast because the mask is applied over top of them strongly. I wonder if you could add some glow/bloom on the white areas, or reduce how much mask appears on the brighter parts so they stay bright.

2 Likes

@HyperspaceMadness There is a “grid intensity” slider in gizmo-slotmask-crt. Default value is 0.30. If value is too low no one would ever say a mask pattern was applied. :smile: Slight bloom would be also nice.

0.05

0.15

0.30

0.80

2.00

4 Likes

Ah that’s good it is configurable :slight_smile:

I was just thinking of some way to reduce the mask on parts of the image which are very bright, like as it gets closer to white might avoid dulling the bright spots

4 Likes

This looks amazing. Would it be possible to tell us what settings did you use in the shader to get to that perfect mask?

1 Like

Works only with the latest version of the shader…

Here are the parameters for the crt-guest-advanced.slangp (or preset based on it):

m_glow = "1.000000"
m_glow_cutoff = "0.150000"
m_glow_low = "0.700000"
m_glow_mask = "0.550000"
SIZEH = "3.000000"
SIGMA_H = "0.600000"
SIZEV = "3.000000"
SIGMA_V = "0.600000"
BLOOMCUT_H = "0.400000"
BLOOMCUT_V = "0.400000"
glow = "0.400000"
halation = "0.150000"
no_scanlines = "0.600000"
shadowMask = "6.000000"
maskstr = "1.000000"
mask_zoom = "1.000000"
slotmask = "1.000000"
slotmask1 = "1.000000"
deconrr = "1.250000"
deconrb = "-1.250000"
deconrry = "1.250000"
deconrby = "-1.250000"
4 Likes

Keep in mind, if you have a high contrast between neighboring pixels (white to black or 100% r/g/b to black) blur will always darken the brighter color, because it just averages neighboring pixels. So if you have just 1-2 white pixels, and the neighboring pixels are dark, white pixels will be darker. If there are more white pixels, white should look bright, because if you average white with white it should be white :wink:. https://forums.libretro.com/uploads/default/original/3X/1/8/189e4d3ea9ed18b8bbc3b46bf3ecb4e1f523ea5e.jpeg

Nonetheless. Scanline code uses some brightness dependent logic. Might add it to the grid. I could also add a brightness parameter. Bloom or glow seems to be performance intensive if > 9 texture fetches are necessary.

1 Like

More N64 input. No shader vs crt shader.

Ash and Pikachu look smooth.

2 Likes