Please show off what crt shaders can do!

I’d like to know if this is even possible at all.

My NES is hooked up to a fairly new Phillips CRT TV (early to mid 2000s). I’d like to find a CRT Shader that could emulate the look of that TV. But there is one small quirk, and I can get video if needed.

The quirk is that next to the tv, there is a big stereo set. Speakers have magnets, the magnets in the speakers distort the right side of the image. So that as the screen scrolls, the video on the right side is warped up a bit, and then moves down towards flat as the level progresses.

Not sure if something like this is even possible to make with a CRT Shader.

yes, it’s possible but you’d have to do something to calculate the distortion. You could, for example, show a grid pattern on the screen and then use that grid to calculate a UV map and then apply that map the reshade/NormalsDisplacement shader. @torridgristle had such a workflow set up, so he might be able to help you with it.

1 Like

How would I go about displaying that? Having to get a flash cart and running some software?

Yeah, pretty much the only way.

Ah, I don’t have a flash cart at the moment. So I guess I just go for the crt look itself and not worry about the distortion

My current CRT-Aperture settings, going for something that looks like a PVM. This is on a 1080p monitor @ 1080p with the backlight adjusted to 100%.

alias0 = ""
BRIGHTNESS = "1.000001"
filter_linear0 = "false"
float_framebuffer0 = "false"
GAMMA_INPUT = "2.400000"
GAMMA_OUTPUT = "2.200000"
GLOW_DIFFUSION = "0.000000"
GLOW_HALATION = "0.000000"
GLOW_HEIGHT = "0.500000"
GLOW_WIDTH = "0.500000"
MASK_COLORS = "2.000000"
MASK_SIZE = "1.000000"
MASK_STRENGTH = "0.500000"
mipmap_input0 = "false"
parameters = "SHARPNESS_IMAGE;SHARPNESS_EDGES;GLOW_WIDTH;GLOW_HEIGHT;GLOW_HALATION;GLOW_DIFFUSION;MASK_COLORS;MASK_STRENGTH;MASK_SIZE;SCANLINE_SIZE_MIN;SCANLINE_SIZE_MAX;SCANLINE_SHAPE;SCANLINE_OFFSET;GAMMA_INPUT;GAMMA_OUTPUT;BRIGHTNESS"
SCANLINE_OFFSET = "0.000000"
SCANLINE_SHAPE = "1.000000"
SCANLINE_SIZE_MAX = "1.500000"
SCANLINE_SIZE_MIN = "0.750000"
shader0 = "C:\Program Files\RetroArch\shaders\shaders_glsl\crt\shaders\crt-aperture.glsl"
shaders = "1"
SHARPNESS_EDGES = "1.000000"
SHARPNESS_IMAGE = "1.000000"
srgb_framebuffer0 = "false"
wrap_mode0 = "clamp_to_border"
2 Likes

I really like the look of the PVM like shaders, they look the best to me.

1 Like

I agree. The 31kHz CRT look is almost too sharp for my taste, sharper than even a BVM, and almost certainly not what was intended by the artist. OTOH, a standard 15kHz CRT TV is too blurry to be ideal. Back in the 90s, it was almost universally recognized that RGB arcade monitors were the gold standard for displaying 240p content- sharper than a television, but not as sharp as a computer monitor. PVMs are a bit sharper than most arcade monitors, but still not as sharp as computer monitors, and they’re very similar to the monitors that most pixel artists actually worked on. A lot of shaders are either too blurry with the default settings, and/or they do various things to black level, contrast and color levels that I don’t like. CRT-Aperture is my current favorite for being easy to use and looking amazing with just about everything.

image

1 Like

Here’s a couple of screenshots with another kind of mask,i like how it looks on nes games. :space_invader:

  1. https://pasteboard.co/Irk34p4.png
  2. https://pasteboard.co/Irk1m7CF.png
  3. https://pasteboard.co/Irk2rrc.png
  4. https://pasteboard.co/Irk3GQg.png
  5. https://pasteboard.co/Irk4DQs.png
4 Likes

What mask and/or shader is this? This looks incredible.

2 Likes

It’s a modificated preset from birm tv shader pack,I still have to make some adjustments and I have to delete unnecessary things in the preset,when I succeed I will post the preset here. Here’s a preview with some modifications --> https://pasteboard.co/IrkPKjj.png

3 Likes

I use zfast on my RPi3B+ and after some editing here are my settings. I tried to remove the scanlines, cause we never had a Scanline TV. These setting are for lower resolutions. For 1080P I only changed MASK_DARK to 0.150000.

shaders = "1"

shader0 = "shaders/zfast_crt.glsl"
filter_linear0 = "true"

parameters = "BLURSCALEX;LOWLUMSCAN;HILUMSCAN;BRIGHTBOOST;MASK_DARK;MASK_FADE"

BLURSCALEX = "1.40000"
LOWLUMSCAN = "3.55000"
HILUMSCAN = "3.000000"
BRIGHTBOOST = "1.150000"
MASK_DARK = "0.250000"
MASK_FADE = "0.700000"

It looks like a mixture of “what I remember” and “how it should look like”. Or like the screens on some SNES game boxes or in magazines.

The only thing I miss is a curvation which works well with these setting. Every curvation I’ve tried resulted in prison bars.

Here are my improvements after a few experiments. Bigger mask, color boost and visible mask on white, decreased halation, removed flicker and image adjustment that added already existing parameters, decreased brightness and better gamma. :massage_man:

Screenshot : https://pasteboard.co/IrwlPLs.png

3 Likes

@aorin1 - That’s one of the problems of the too warm emulated look I’ve been fighting all this time, the excess red makes blues purple. Since purple is a mix of red and purple, pushing red to blue using color mangler makes things much better/bluer!

@Mickevincent - that’s fantastic, what shaders are you using for the high internal resolution? Hyllian 3D maybe?

Hello again to everyone : ) Been away for quite a while due to real life.

3 Likes

This effect is achieved with Retroarch (bandlimit pixel shader) + Reshade and a not standard shader: RetroTV composite (source: https://github.com/Matsilagi/reshade-unity-shaders.

I wasn’t able to replicate the same effect in RetroArch exclusively, but I can’t write or convert shaders, so this is annoyingly the way to do this for me.

Imgur Album Best viewed in it’s true pixel size.

edit: Just realized that imgur has converted some images to Jpegs :-1: I have uploaded them to pasteboard, but I can’t add multiple links due to new user restrictions. https://pastebin.com/TMjziP96

5 Likes

I finally finished one of my presets! One is a prototype and I do not know what I’m going to change but I already like it. Anlalog shader pack and updated cg shaders included in the download link.

Files: https://gofile.io/?c=EeCL0H

  • Prototype preset
  1. https://pasteboard.co/IsngAzO.png
  2. https://ibb.co/NCTwKfT
  3. https://pasteboard.co/Isnfe2E.png
  4. https://pasteboard.co/IsngdEn.png
  5. https://ibb.co/X7R23xQ
  • Normal preset
  1. https://pasteboard.co/IsnfWt4.png
  2. https://ibb.co/gSYtGRL
  3. https://pasteboard.co/IsngWxf.png
  4. https://ibb.co/0jKtSLD
  5. https://pasteboard.co/IsneRMq.png

Real rendering is better than on the browser :face_with_monocle:

7 Likes

I’ve decided to go with crt-geom with a .45 weight scanline instead. Much happier with the results. I just love the way that RetroTV increases the contrast of vertical edges. It’s how I remember CRT’s look. Hope you enjoy!

Imgur Album #2

7 Likes

Damn those look nice! Now I have to revaluate my shader chains…

It’s seems like I’ll need 4 chains. :sob:

Each emulated system seems to have its own “best” shader. I’ve been playing PS1 lately, and for that system, the crt-fast-bilateral-super-xbr slang preset (in the denoisers directory, not in the crt directory) works wonders. Feeding it a 240p source downsampled from 8x internal res (Beetle PSX HW with Vulkan renderer can do that) makes it look amazing, at least at 1440p.

Before

After (look at the dinosaur skull’s teeth, and the character’s legs. Huge improvement)

Before

After (just look at the number “7” for example to see the improvement)

Yes, it does look a bit clearer than a real CRT TV, but for PS1 this turns out to be a good thing since there’s actually some detail in these games that can get lost on a CRT (as opposed to something like an NES, where having all the flaws of a CRT looks better.) Basically, this shader makes PS1 games look like how we remember them looking like rather than what they really looked like :wink:

10 Likes

Some clarification needed on crt-guest-dr-venom.slangp Does the -100% Color temperature = 9300k if my monitor is calibrated to D65? Sorry, it’s kind of confusing. Other than that, it’s a great shader; I really appreciate the ability to put my wide-gamut monitor to use. Thank you!

2 Likes