Before we get into the article, we'd like to give you the chance to view the Power Point Presentation 3dfx sent to us on FXT1.

Last Monday, 3dfx had a conference call in which the press got to do a bit of a Q&A on 3dfx's second technology announcement in less than two months. The first announcement was regarding the T-buffer technology, which has proven to be most interesting, yet still leaves a few questions in our mind. Well I know for a fact that many were hoping that this would be a product announcement, but as we expected, it was not. This was rather about 3dfx's new texture compression technology, FXT1. It looks pretty interesting, but we've got some questions.

Well just what is texture compression? Well to get an in-depth look at it, you probably should refer to this article. However, to just get a general idea, it is the process of reducing the size of an image. Think of it like converting a BMP image into a JPG. The JPG image is always much smaller. However, one of the problems with compression, as seen with a JPG, is image quality. One of the main goals of texture compression is to not only reduce the size of the textures, but also maintain the quality.

So what advantages are found with lowering the amount of space a given texture or set of textures takes up? Well there are really three advantages: reduced bandwidth/memory requirements, support for more detailed textures, and support for more textures. This is a situation where a game developer must decide how they want the compression to be used within a game. They have the choice of leaving the same textures and just making things quicker, making the texture much higher resolution (such as 1024x1024), or supporting a bunch of textures for each object. With FXT1, 3dfx is giving an compression ratio of 8X. This means they can either use 1/8th the bandwidth for textures, increase texture quality by 8x, use 8x the amount of textures, or a combination of them all.

Currently, the most widely supported texture compression is S3TC, also known as DXTn as it is found in DirectX. 3dfx has pointed out that there are two primary problems related to S3TC, though they aren't related to the compression itself. These problems, which I agree with, are cross-platform use and price. What 3dfx has done with FXT1 is made it cross-platform, being compatible with the Wintel and Linux platforms as well as Macs. Now because FXT1 isn't supported in DirectX as DXTn is, some questions of usability are raised. However, DirectX has certain calls that the given application can make and this informs DirectX that compressed textures are being used. If this call is given, the hardware is informed that the texture must be decompressed and so the decompression is done, so FXT1 will work with DirectX based games. Well now what we'll do is first look at the technology itself and afterwards we'll ask a couple of questions about some serious concerns we have.

Basically what 3dfx can use are FCCs, also know as Four Character Codes. DirectX uses 4 letters to identify the texture format. Now all 3dfx has to do is obtain an exclusive set of 4 letters/numbers and once they have those, they can add support in any game. Microsoft has to approve and register those codes within DirectX, but if the technology is good that should be no problem.