FXT1 is a texture compression scheme for 3D graphics, invented by the hardware vendor 3dfx Interactive and offered as an open source rival standard to S3TC in September 1999, a year after S3TC had been adopted by Microsoft as part of DirectX. Limited vendor hardware support has been a barrier to its acceptance. Notably, despite being open source, FXT1 was not adopted by Nintendo for the GameCube, nor by Sony for the PlayStation 3, in both cases losing out to the established S3TC standard. Another possible reason for its lack of adoption is that the CC_MIXED mode (see below) probably infringes the S3TC patent (). Four different compression algorithms are used by FXT1, chosen at a block level to optimize visual quality. Having to select an optimal path for each texture ensured FXT1 was relatively slow at compression, making it unsuitable for real-time compression in applications. The original white paper did not follow well-known scientific rules, being actually a commercial presentation. The lack of theoretical guidance from the inventors might have been the cause of badly optimized compression scheme selection code, and despite potentially better performance due to four available compression schemes instead of one (as in S3TC), FXT1 did not show any quality improvements to S3TC, being inferior to it in most test cases. In hindsight, FXT1 might have been more successful if 3dfx spent more effort examining optimization of the CC_MIXED compression mode, more similar to S3TC, and dropped the other three codecs from the standard. 3dfx was subsequently taken over by Nvidia who have continued to support S3TC as their preferred compression tool. Compression algorithms Four different compression algorithms are set out in the original white paper: 1. CC_MIXED (similar to other S3TC): A 4x4 texel block is represented by two bits-per-texel for opaque textures. Additionally, each block has two 16-bit colors stored in an RGB 565 format. The two RGB 565 colors and two additional colors (created by interpolating between the two RGB 565 colors) form the primary colors for this texel block and its associated four color lookup table. A 2-bit index is used to determine which color from the lookup table will be used for each texel in the 4x4 block. Transparent textures are created by making one of the four colors transparent. 2. CC_HI (best for spatial resolution): A 4×8 texel block is represented by three bits-per-texel for opaque and transparent textures. Each