GL_OES_compressed_paletted_texture#

Supported Hardware#

Series5, Series5XT, Series6, Series6XE, Series6XT

Valid APIs#

OpenGL ES 1.x

Description#

This extension allows the use of paletted textures in OpenGL ES as a compressed texture. Paletted formats are textures which store a small number of colours as a palette, and then the texel array is a simple array of indices into this palette. The benefit of this is that the palette can be cached, and the indices have a lower bandwidth cost than a full colour. This extension allows the colour formats of RGB565, RGBA4444, RGBA551, RGB888 or RGBA8888. Each texel is then allowed to either have a 4- or 8-bit index value, and an appropriate number of palette colours to match.

Note#

In subsequent versions of OpenGL ES, this functionality can be easily replicated using programmable shaders by having a small palette texture, and a vertex attribute or another texture specifying the index to use. This allows the functionality to be much more flexible than provided by this extension, so it was dropped.

Example#

// Upload a palletted texture. The size of the data will be dependent on how it was
// compressed and is thus dependent on whatever tool was used.
glCompressedTexImage2D(GL_TEXTURE_2D, 0, GL_PALETTE4_RGB8_OES, 1024, 1024, 0, pixelDataSize,
                        pixelData);