Texture compression and old knowledge

24 Nov 2005

I just read the article Making Quality Game Textures and the article on S3 texture compression on Wikipedia. A funny thing is that DXT1 compression is very much the same thing as the screen buffer format on the ZX Spectrum (the screen$ format)!
DXT1 compression divides the image into 4x4 pixel blocks, each of which can have a maximum of 4 different colors from a 16-bit palette. On the Spectrum, the screen is divided into 8x8 pixel blocks, each of which can have a maximum of 2 colors from a 3-bit palette. So although there is at least 15 years between these technologies, they have a similar design, and for the same reason too; i.e. minimizing memory consumption and bandwidth.
This is just one example of that knowledge doesn't get outdated as fast as one would think in the fast-moving field of computers, and real-time graphics in particular. New technology often use old ideas in new ways, so old knowledge is useful more often than most people think. For example, fix-point numbers had been replaced by floating point numbers for all math in graphics applications. So knowing how fix-point works was not very useful for a few years, but then they suddenly reappeared in new graphics hardware and mobile applications. I'm not that old, but I have actually programmed COBOL at a time in my life. There's not a chance in hell I'd put that on my CV, but at a few times that knowledge has been useful. Not that I use COBOL itself, but there are concepts and ideas in it that can be applied to contemporary problems. Assembly language is perhaps a better example. Many programmers think that knowledge of assembly language is worthless, as noone programs in assembly language any more. While it's partly true that assembly language isn't very useful for most programmers, the knowledge of how the computer works under the hood is often very useful.
Oh well, perhaps I'm just trying to justify all the time I've spent on learning unimportant old stuff. :-)

blog comments powered by Disqus