I love these CRT shaders but have always wondered, has anyone thought about or worked on a physically accurate simulation of a CRT television? Something that takes a framebuffer as input and simulates the electric signals that control the magnets around the tube, how those magnets affect the electron beam, how the beam interacts with the shadowmask, etc. elements in the front of the tube, and finally how each individ…
Yes, they have. There are terminal emulators (Cathode) and a very accurate simulation as part of xscreensaver. See jwz's post about it - http://www.jwz.org/blog/2011/01/cathode-vintage-terminal-emu... - and a mirror of the file where it is implemented - https://github.com/danfuzz/xscreensaver/blob/master/hacks/an... The comments in that C file show just how much attention to detail was made.
CRT simulation (2014)
11–20 of 35 posts
Re: CRT simulation (2014)
#12This technique is very important for emulation and simulating the look of early games. For example, the Genesis/Mega Drive did not support hardware alpha transparency. Many games (including the Sonic series) simulate the effect by alternating vertical lines, and relying on the "visual munging" of CRTs to produce a convincing effect. Here is a video that demonstrates the effect in Shinobi 3: https://youtu.be/YFOkbfpIl…
SNES (and NES) screenshots are difficult to display well on modern systems because the (S)NES had rectangular pixels instead of square pixels as used today. I recommend scaling to some large integer multiple of the original size with nearest neighbor, and then scaling to the correct aspect ratio with your favorite resampling filter. And if you insist on using JPEG compression then at least use 4:4:4 chroma subsampling - chroma artifacts are very obvious in pixel art.
I also dispute the assertion that CRT artifacts were required or intended by all graphics designer back then. Evidence: LCD based portable systems and line doubled mode 13h DOS games both used the same dithering techniques, but they had sharp pixels. And many games used dithering type patterns to represent fine detail instead of blended colors, eg. the typewriter in the background near the start of Chrono Trigger. I grew up with DOS games so I personally prefer sharp pixels.
The most important feature of a CRT is the low persistence - eliminating sample and hold blur. This is now available in fast modern LCDs with strobing backlights, or with black frame insertion displaying 60Hz content on a 120Hz monitor. It makes a very big difference for fast scrolling 2D games.
Re: CRT simulation (2014)
#13While this is technically awesome, I'd much, MUCH prefer to play without all the visual munging. Nostalgia aside, CRTs didn't actually look that good originally . They weren't used for their visual effects, they were used because they were cheap and easy. Why would you actively make your content look shittier? I suspect if you went back, and offered the people developing these games the option to play them on a moder…
Re: CRT simulation (2014)
#14This technique is very important for emulation and simulating the look of early games. For example, the Genesis/Mega Drive did not support hardware alpha transparency. Many games (including the Sonic series) simulate the effect by alternating vertical lines, and relying on the "visual munging" of CRTs to produce a convincing effect. Here is a video that demonstrates the effect in Shinobi 3: https://youtu.be/YFOkbfpIl…
Why? I dont see people emulating the look and feel of 1920 black and white film projection, or Edison sound cylinders. Its because quality was SHIT, just like CRT.
Re: CRT simulation (2014)
#15While this is technically awesome, I'd much, MUCH prefer to play without all the visual munging. Nostalgia aside, CRTs didn't actually look that good originally . They weren't used for their visual effects, they were used because they were cheap and easy. Why would you actively make your content look shittier? I suspect if you went back, and offered the people developing these games the option to play them on a moder…
And then you have modern games like the one posted here that aim to mimic those effects because they are now a style unto themselves. No need to denigrate it.
Re: CRT simulation (2014)
#16While this is technically awesome, I'd much, MUCH prefer to play without all the visual munging. Nostalgia aside, CRTs didn't actually look that good originally . They weren't used for their visual effects, they were used because they were cheap and easy. Why would you actively make your content look shittier? I suspect if you went back, and offered the people developing these games the option to play them on a moder…
CRTs, even high end ones, always had poor image quality. CRTs did however have superb motion quality, and it's only very recently with strobed 120Hz/144Hz LCDs that LCDs have matched CRT motion quality.
Re: CRT simulation (2014)
#17I love these CRT shaders but have always wondered, has anyone thought about or worked on a physically accurate simulation of a CRT television? Something that takes a framebuffer as input and simulates the electric signals that control the magnets around the tube, how those magnets affect the electron beam, how the beam interacts with the shadowmask, etc. elements in the front of the tube, and finally how each individ…
Yes, they have. There are terminal emulators (Cathode) and a very accurate simulation as part of xscreensaver. See jwz's post about it - http://www.jwz.org/blog/2011/01/cathode-vintage-terminal-emu... - and a mirror of the file where it is implemented - https://github.com/danfuzz/xscreensaver/blob/master/hacks/an... The comments in that C file show just how much attention to detail was made.
Re: CRT simulation (2014)
#18Earlier quoted context omitted.
CRTs, even high end ones, always had poor image quality. CRTs did however have superb motion quality, and it's only very recently with strobed 120Hz/144Hz LCDs that LCDs have matched CRT motion quality.
In what respect do you think CRTs had universally inferior image quality: viewing angles, contrast, brightness, gamut, color accuracy, spatial resolution, or something else?
CRT contrast was markedly inferior at high spatial frequencies (as opposed to VESA contrast). The linked article is deliberately trying to simulate this. Even on aperture grille tubes this is obvious with pure white/black 50% ordered dither. This makes a big difference to legibility of text.
Brightness is lower than most LCDs, and fades quickly with age if it's set too high. Gamut is lower than high gamut LCDs, and color accuracy is similar to good LCDs.
Spatial resolution is much worse, especially as you can't benefit from sub pixel rendering. I've spent a lot of time tweaking CRT controls, and you can never get perfect focus and convergence across the whole screen. You can never get perfect geometry either, which is not an issue with LCDs.
Comparing a high end CRT to a high end image quality optimized LCD (eg. IPS or VA), viewing still images, from a normal desktop viewing position, I'm confident that the vast majority of viewers will prefer the LCD.
Re: CRT simulation (2014)
#19This technique is very important for emulation and simulating the look of early games. For example, the Genesis/Mega Drive did not support hardware alpha transparency. Many games (including the Sonic series) simulate the effect by alternating vertical lines, and relying on the "visual munging" of CRTs to produce a convincing effect. Here is a video that demonstrates the effect in Shinobi 3: https://youtu.be/YFOkbfpIl…
>This technique is very important for emulation and simulating the look of early games Why? I dont see people emulating the look and feel of 1920 black and white film projection, or Edison sound cylinders. Its because quality was SHIT, just like CRT.
Re: CRT simulation (2014)
#20While this is technically awesome, I'd much, MUCH prefer to play without all the visual munging. Nostalgia aside, CRTs didn't actually look that good originally . They weren't used for their visual effects, they were used because they were cheap and easy. Why would you actively make your content look shittier? I suspect if you went back, and offered the people developing these games the option to play them on a moder…
What you're missing is that sometimes, the characteristics of a CRT are used for a visual effect that is completely missing on non-CRT displays.
For instance, it's arguable that a lot of low-res 16 bit sprites actually look better when on a technically inferior display because that's what the developers were using - and they would have drawn the sprites with the blur in mind. You remove the blur, and the sprites are a bit harder to look at [1]. (Take any of the SNES Squaresoft RPGs for a good example of this.) Scaliness were often used as a cheap method of texture blending.
A good description of this comes from here[2]: The chunky sprites with their often thick, cartoony outlines just weren't designed to be reproduced with sharp edges resulting from nearest-neighbor upscaling.
[1]: http://www.tested.com/tech/gaming/2982-a-link-to-the-past-ho...
[2]: http://cyber4education.blogspot.com/2010/12/crt-pixel-shader...
It's your system and you can play your games however you want, but it's not in question that many games were designed to be played on older displays.