A method and system for rendering three-dimensional graphics, including
text, provides a compressed texture bitmap. The compressed texture bitmap
may represent multiple symbols, each comprised of multiple pixels. Each
pixel in the texture bitmap may store information for more than one
value, including values for compressed pixels corresponding to multiple
distinct symbols. For example, the compressed texture bitmap may have
n-bit pixels (e.g., 16-bit pixels) that each store up to m (e.g., four)
n/m-bit (e.g., 4-bit) compressed values. Multiple pixels can be stored in
a single texture using, for example, distinct red, green, blue, and alpha
(RGBA) channels associated with each pixel. The compressed texture bitmap
may be configured for unpacking by a conventional pixel shader, such as a
pixel shader that does not typically perform bitwise operations. The
unpacking may include isolating a pixel associated with a desired value
using a masking operation in the pixel shader.