# glColorSubTable

respecify a portion of a color table

## Signature

glColorSubTable( GLenum ( target ) , GLsizei ( start ) , GLsizei ( count ) , GLenum ( format ) , GLenum ( type ) , const GLvoid * ( data ) )-> void
glColorSubTable( type , )

## Parameters

VariablesDescription
target
Must be one of GL_COLOR_TABLE , GL_POST_CONVOLUTION_COLOR_TABLE , or GL_POST_COLOR_MATRIX_COLOR_TABLE .
start
The starting index of the portion of the color table to be replaced.
count
The number of table entries to replace.
format
The format of the pixel data in data . The allowable values are GL_RED , GL_GREEN , GL_BLUE , GL_ALPHA , GL_LUMINANCE , GL_LUMINANCE_ALPHA , GL_RGB , GL_BGR , GL_RGBA , and GL_BGRA .
type
The type of the pixel data in data . The allowable values are GL_UNSIGNED_BYTE , GL_BYTE , GL_UNSIGNED_SHORT , GL_SHORT , GL_UNSIGNED_INT , GL_INT , GL_FLOAT , GL_UNSIGNED_BYTE_3_3_2 , GL_UNSIGNED_BYTE_2_3_3_REV , GL_UNSIGNED_SHORT_5_6_5 , GL_UNSIGNED_SHORT_5_6_5_REV , GL_UNSIGNED_SHORT_4_4_4_4 , GL_UNSIGNED_SHORT_4_4_4_4_REV , GL_UNSIGNED_SHORT_5_5_5_1 , GL_UNSIGNED_SHORT_1_5_5_5_REV , GL_UNSIGNED_INT_8_8_8_8 , GL_UNSIGNED_INT_8_8_8_8_REV , GL_UNSIGNED_INT_10_10_10_2 , and GL_UNSIGNED_INT_2_10_10_10_REV .
data
Pointer to a one-dimensional array of pixel data that is processed to replace the specified region of the color table.

## Description

glColorSubTable is used to respecify a contiguous portion of a color table previously defined using glColorTable . The pixels referenced by data replace the portion of the existing table from indices start to $\mathit{start}+\mathit{count}-1$ , inclusive. This region may not include any entries outside the range of the color table as it was originally specified. It is not an error to specify a subtexture with width of 0, but such a specification has no effect.
If a non-zero named buffer object is bound to the GL_PIXEL_UNPACK_BUFFER target (see glBindBuffer ) while a portion of a color table is respecified, data is treated as a byte offset into the buffer object's data store.

## Notes

glColorSubTable is present only if
ARB_imaging
is returned when glGetString is called with an argument of GL_EXTENSIONS .

## Errors

GL_INVALID_ENUM is generated if target is not one of the allowable values.
GL_INVALID_ENUM is generated if format is not one of the allowable values.
GL_INVALID_ENUM is generated if type is not one of the allowable values.
GL_INVALID_VALUE is generated if $\mathit{start}+\mathit{count}>\mathit{width}$ .
GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the buffer object's data store is currently mapped.
GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and the data would be unpacked from the buffer object such that the memory reads required would exceed the data store size.
GL_INVALID_OPERATION is generated if a non-zero buffer object name is bound to the GL_PIXEL_UNPACK_BUFFER target and data is not evenly divisible into the number of bytes needed to store in memory a datum indicated by type .
GL_INVALID_OPERATION is generated if glColorSubTable is executed between the execution of glBegin and the corresponding execution of glEnd .

## Associated Gets

glGet with argument GL_PIXEL_UNPACK_BUFFER_BINDING