A method and system for rendering three-dimensional graphics, including
text, provide a compressed texture bitmap. The texture bitmap may
represent multiple symbols, each comprised of multiple pixels. Each pixel
in the texture bitmap may store information for more than one (e.g., n)
compressed values, including pixels corresponding to multiple distinct
symbols. For example, the compressed texture bitmap may have n-bit pixels
(e.g., 8-bit pixels) that each store m (e.g., eight) 1-bit values. 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 matching a fetched
pixel to a mapping value in a lookup table, such as a 32-bit value from a
256-color palette. The looked-up value can be separated into separate
sub-values to facilitate processing by the pixel shader. For example, the
looked-up value can be split into RGBA values conventionally used in
processing colored pixels.