GAMECUBE Compressed Texture Format -------------------------------------------------------------------------- As usual texture, CMPR-texture is divided on tiles, each per 32-bytes, to fit texture cache line. Every tile is sub-tiled on four parts, in zigzag order : 0-1 / 2-3 Format of sub-tile is pretty simple, and looks like DXT1. First goes two base colors in RGB565, followed by 16 sub-tile texels. Every texel is 2-bit wide, to lookup from four colors : 00, 01, 10 and 11. First two are given already, and last two are interpolated from first ones, by following rule : COLOR0 and COLOR1 are base colors. RGB0 <- unpack RGB565 COLOR0 A0 = 255 RGB1 <- unpack RGB565 COLOR1 A1 = 255 if COLOR0 > COLOR1 RGB2 = (2 * RGB0 + RGB1) / 3 A2 = 255 RGB3 = (2 * RGB1 + RGB0) / 3 A3 = 255 else RGB2 = (RGB0 + RGB1) / 2 A2 = 255 RGB3 = (2 * RGB1 + RGB0) / 3 A3 = 0 -------------------------------------------------------------------------- This document is maintaining by Dolwin team. Last edited by org, 21 Sep 2004