VOGONS

Common searches


First post, by VileR

User metadata
Rank l33t
Rank
l33t

Here's a little experiment that I've been working on, mostly just for fun. This takes an image or a video (say a hardware capture, an emulator recording, etc.) and puts it through a "CRT" transform.
The idea is that every parameter can be tuned using config files: sample .cfg presets are included, with detailed comments inside explaining what's what.

Some adjustable settings: aspect ratio, output resolution, monitor type (color or various monochrome shades), brightness/blackpoint, shadow mask (type and size/dot pitch), pixel blur, halation, scanlines (opacity and weight), beam bloom, phosphor persistence (decay), pixel latency, CRT curvature, bezel curvature, bezel corner radius, vignette (center-to-edge darkening).

Requirements:

  • Windows (since for now it's all in a batch file)
  • FFmpeg accessible in your PATH (you'll need a new-ish version from the last couple of weeks - get a current 'full' build here)
  • (For video): lots of speed. Doesn't matter for still images, but this is all done on the CPU, and it's SLOW. If you want to do this with videos, throw as many cores as you can at it. Better yet, twice as many.

Get it on github: see readme for usage, sample config files for details.


Some examples / info...

Part 1: Color

Part 2: Monochrome


Those examples (and the config files as well) don't attempt to "accurately" simulate any particular type of monitor - feel free to tweak and experiment. 😀
Not all that useful, and still needs lots of tweaking and optimization, but some of you might have fun with this. Suggestions welcome, too.

Last edited by VileR on 2021-03-04, 17:37. Edited 1 time in total.

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 1 of 1, by VileR

User metadata
Rank l33t
Rank
l33t

CRTs get all the retro-hype, but how about old-school flat-panel monitors?
Now you can simulate LCDs of various colors, shapes and sizes, as well as orange plasma panels (e.g. IBM Ps/2 P7x, Toshiba T-series, Compaq Portable III/386), and yellow electroluminescent displays (e.g. GRiD Compass, GRiDCASE 1537, Data General One 2T).

As before, all parameters are tunable. For maximum fidelity, you can adjust the pixel latency to simulate the terrible response times of 35-year-old LCD panels.

You also get a bonus tool that mimics fake "grayscale" shading on 1-bit displays. The available methods are similar to how it was done in hardware - RGBI colors are mapped to monochrome dot patterns.
For example:

1bit-og-RGBI.png

The above RGBI image can get various forms of static bit-pattern dithering, such as:

1bit-4x2b.png 1bit-16x2.png

...or temporal modulation across successive frames, as with refresh-rate limited PWM:

(do not click if massive flickering makes you suffer)

1bit-t4x2.webp 1bit-t16x2.webp

A few of these methods are fairly accurate to how the HP 100/200LX displayed CGA on its monchrome internal LCD, for instance.

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]