3 ms·
This is awesome. I tried doing this in the early 90s by breaking down video frames into averaged color triangle polygons and then using the renderer I had to dr
by qingcharles 3y ago
This is awesome. I tried doing this in the early 90s by breaking down video frames into averaged color triangle polygons and then using the renderer I had to draw them. It worked fine, but obviously best on large swathes of flat color like cartoons where it would create the smallest number of vertices and the largest runs of bytes.
Somewhere on Usenet there is a post of mine about running it on my 286, but I just wasted an hour trying to find it.
- gmueckl 3y agoThis seems very similar to how the cinematic platformer Another World (1991, also known as Out of This World) was doing its elaborate full screen animation sequences, although the animations were rotoscoped rather than generated by an automatic encoder.
- EvanAnderson 3y agore: decomposing video to triangles - That makes me think of State of the Art[0] and Nine Fingers[1], though I don't actually know how they worked. [0] https://www.pouet.net/prod.php?which=99 https://www.pouet.net/prod.php?which=99 [1] https://www.pouet.net/prod.php?which=100 https://www.pouet.net/prod.php?which=100
- qingcharles 3y agoYES! I was trying to remember the names of these demos, they came out the same time I was working on my code. Really was peak demo scenes days in 93/94. I feel like we were doing it that way because we had hammers and saw everything as a nail. I don't think any of us knew how an actual video codec worked back then, there was so little information available until the Internet started taking off in late-93 onwards.
- Scali 3y agoThe Amiga had a hardware blitter that was very good at drawing lines and doing area fills, so it made perfect sense to encode video to polygons on that particular hardware.
- qingcharles 3y agoYep! That's what I meant in an obtuse way about the hammers and nails :D
- Scali 3y agoWell, I would argue that a 'conventional' video codec would not work nearly as well on a stock Amiga 500 as this polygon approach does. The closest thing to full-motion video on the platform was probably what they used on the CDTV (same hardware as an Amiga 500, but with CD-ROM). It used the CDXL format: https://en.wikipedia.org/wiki/CDXL https://en.wikipedia.org/wiki/CDXL. In short, you got 160x100 video at 12 fps. It was uncompressed data, because the system was too slow to decompress in realtime. So the Amiga really wasn't powerful enough for 'conventional' codecs to begin with. Especially 9 Fingers gets pretty detailed video at the full resolution and certainly more than 12 fps. And the whole thing fits on just two floppies, so the storage is quite efficient as well. Imagine what you could do with a CD-ROM. The successor to the CDTV, the CD32, got a hardware MPEG decoder, despite having a much faster CPU and chipset than the original Amiga the CDTV was based on.
- Scali 3y agoThat is an interesting difference with the 8088+CGA platform by the way. The Amiga has no problem displaying entire screens of uncompressed data. CGA however is so bandwidth-limited that you simply can't update an entire screen at acceptable framerates, so the lossy compression that is used with XDC is a requirement to improve the framerate to FMV-like levels, it is not primarily required for data reduction on disk.
- qingcharles 3y agoI had a CDTV and a CD32, but I never knew the details about CDXL format, thank you! I just checked and it looks like ffmpeg supports it, bless. It looks like the simplest possible video encoding format you could imagine. Yes, the reason I was doing it like that on the PC was for the same reason you mention -- using polygons probably is faster because you cut out a lot of math and branches (as long as the polys are large enough) and just drop down to blitting huge swathes of solid color into the frame buffer.