Live data from Hacker News

Cathode-Retro: A collection of shaders to emulate the display of an NTSC signal

github.com

51–60 of 93 posts

Re: Cathode-Retro: A collection of shaders to emulate the display of an NTSC signal

#51
post #49

I love the current infatuation with modeling old CRT display systems. Old graphics and videos from the "time before" rely a bit on how those display systems and signals worked in order to make low-color and resolution artifacts look "better" in terms of smoother color gradients and softer edges and diagonals. The shift to modern displays mades everything form that era look blocky and chunky. The thing that makes this…

>having reflections of the screen in the bezel are chef's kiss

At first I thought this was a strange thing to ask for, but then I saw the image in the link and suddenly I agree 100%. This is beautiful!

Re: Cathode-Retro: A collection of shaders to emulate the display of an NTSC signal

#52
post #19
post #12

They should show comparison photos like the ones from https://wackoid.com/game/10-pictures-that-show-why-crt-tvs-a... . Additionally, LCD and OLED have their own subpixel artifacts, so I wonder if that has to/can be compensated for when displaying a CRT emulation.

Thanks! I once read this article and could never find it again. The screenshots here are second to none for showing why the quest to reproduce CRT rendering is so important for preservation efforts. Without it graphics from this era simply don't look even remotely as intended.

The way it's meant to be played!

Re: Cathode-Retro: A collection of shaders to emulate the display of an NTSC signal

#53
post #35
post #2

NTSC was also known for its poor colour reproducability compared to PAL due to how the color signal was modulated. PAL had automatic control where NTSC often required manual adjustment in case the hue was drifted. For that reason NTSC was often said to stand for 'Never Twice the Same Color' or 'Never The Same Color'. I wonder if any of the shaders also has this behavior of randomly shifting the hue or an ability to c…

NTSC colors were bad - really bad - but wideband bayer filters + sRGB are the source of the mediocre colors we see today. We could have beautiful Kodachrome quality colors If we used narrow-band RGB filters and a wide gamut (Rec.2020, or Rec.2100PQ) colorspace. If you look at the spectral sensitivity specs of Kodachrome film they are fairly narrow-band and closely matched the perceptual sensitivity of human vision (C…

There is good reason why many high end projectors use lasers as light sources these days; you can't get much more narrow-band than that.

https://www.christiedigital.com/about/display-technology/las...

https://www.barco.com/en/inspiration/news-insights/barco-res...

Re: Cathode-Retro: A collection of shaders to emulate the display of an NTSC signal

#54

Earlier quoted context omitted.

Unbearable high frequency noise does tend to fix itself given a few decades or so.

They were referring the fact that CRTs went the way of the dodo, and flat panels replaced them. This high frequency noise was a unique feature of the CRT.

I suspect contravariant was making a joke that as you get older, your ability to hear high frequencies gets worse. After "a few decades or so" you likely won't be able to hear the flyback transformer squealing at 15 625 Hz any more.

Re: Cathode-Retro: A collection of shaders to emulate the display of an NTSC signal

#55

Earlier quoted context omitted.

> until the nineties. CRTs lasted well into the 2000’s. I think the reference is to the fact that one loses the ability to hear CRT whine as one gets older, since the upper frequency limit of human hearing declines with age.

No, it’s more an illustration that I was forgetting when the transition occurred. In reality it was probably 2002 or 2004 before the pain stopped.

glad i was on the same page with you, and not like everyone else making assumptions about your hearing ability!! =)

Re: Cathode-Retro: A collection of shaders to emulate the display of an NTSC signal

#56

Earlier quoted context omitted.

There's a fun technique in After Effects to separate the image by channels, and then apply an effect turning the image into grids of small circles. Nudge the red a couple of pixels left, the blue a couple of pixels right, and then the green a couple of pixels up. When these are merged back, you get that very look you've described.

Yeah, we can do it in the shader by taking the UV texcoord, sampling the texture rgb, then using a collector , add the r, g, b values to the collector with the offsets in uv's to return the pixel color. It's extremely easy to do in HLSL/GLSL/WGSL/SPIRV/Metal. It can even be controlled using a vector map for the offsets so you can tune it and vignette the chromatic aberration around the edges of the screen. Giving it…

The first time I spoke with a 3D graphics type person that started to talk to me a video engineer type person about UV this UV that, I could not grok their use of the chroma channels needing coordinate position. Just another example of how terms get new definitions depending on the field using them. To this day, my default for UV is chroma related, not projection related, so I sometimes have to re-read something in the right context.

Re: Cathode-Retro: A collection of shaders to emulate the display of an NTSC signal

#57
post #12

They should show comparison photos like the ones from https://wackoid.com/game/10-pictures-that-show-why-crt-tvs-a... . Additionally, LCD and OLED have their own subpixel artifacts, so I wonder if that has to/can be compensated for when displaying a CRT emulation.

> Additionally, LCD and OLED have their own subpixel artifacts

Can you elaborate? I've never heard anything about that, regarding a regular grid of R/G/B stripes.

Or are you talking specifically about the weird PenTile layouts?

Re: Cathode-Retro: A collection of shaders to emulate the display of an NTSC signal

#58
post #32

I always hated the weird fuzziness, soft lines, and curved image that old TVs imparted on games, it is amazing to me that entire communities have been built up around it. When I started playing games on an emulator and pixels were hard and square and the image was actually flat, I was like YES!!

It's interesting, because artists on some games accounted for the fuzziness and used it to their advantage. You should play them how you want of course, but for something like Gameboy emulation I absolutely turn on shaders to avoid the nasty black-and-white.

> because artists on some games accounted for the fuzziness and used it to their advantage

Everybody repeats this, but I've honestly never been convinced.

Different screens and different systems had different types of different degrees of fuzziness. Designing for it seems like it would be impossible.

I've never once seen an example of pixel art that looked good crisp and bad fuzzy, and then was somehow modified in a way to look worse crisp and yet better fuzzy. It doesn't even make sense to me how that could be.

I'm happy to be proven wrong, but I need to see an example with my own eyes. And I've never seen anybody demonstrate it with a 2x2 example like that.

Super Mario on a crisp LCD has always seemed aesthetically better than on a CRT. Not as nostalgic, sure. But nothing feels lost artistically -- to the contrary, it's clearer.

Re: Cathode-Retro: A collection of shaders to emulate the display of an NTSC signal

#60
post #49

I love the current infatuation with modeling old CRT display systems. Old graphics and videos from the "time before" rely a bit on how those display systems and signals worked in order to make low-color and resolution artifacts look "better" in terms of smoother color gradients and softer edges and diagonals. The shift to modern displays mades everything form that era look blocky and chunky. The thing that makes this…

As someone else commented, this is what shaders are supposed to do with games from that time https://wackoid.com/game/10-pictures-that-show-why-crt-tvs-a...

Notice how the physics of CRT ends up rendering the pixel art the way it was meant to appear. Pixel art was not the final image, the one appeared on the CRT was. You can not make up those details without CRT, shaders should get us there though. I wish this github repo had comparison images like that article.

Post reply on HN