From OpenGL Reference
Jump to navigation Jump to search

Fills all a texture image with a constant value.

C Specification[edit]

void glClearTexImage( GLuint texture, GLint level, GLenum format, GLenum type, const void * data );


texture - The name of an existing texture object containing the image to be cleared.
level - The level of texture containing the region to be cleared.
format - The format of the data whose address in memory is given by data .
type - The type of the data whose address in memory is given by data .
data - The address in memory of the data to be used to clear the specified region.


 glClearTexImage fills all an image contained in a texture with an application supplied value. texture must be the name of an existing texture. Further, texture may not be the name of a buffer texture, nor may its internal format be compressed.

 format and type specify the format and type of the source data and are interpreted as they are for glTexImage3D . Textures with a base internal format of GL_DEPTH_COMPONENT , GL_STENCIL_INDEX , or GL_DEPTH_STENCIL require depth component, stencil, or depth-stencil component data respectively. Textures with other base internal formats require RGBA formats. Textures with integer internal formats require integer data.

 data is a pointer to an array of between one and four components of texel data that will be used as the source for the constant fill value. The elements of data are converted by the GL into the internal format of the texture image (that was specified when the level was defined by any of the glTexImage* , glTexStorage* or glCopyTexImage* commands), and then used to fill the specified range of the destination texture level. If data is NULL , then the pointer is ignored and the sub-range of the texture image is filled with zeros. If texture is a multisample texture, all the samples in a texel are cleared to the value specified by data.


 glClearTexImage is available only if the GL version is 4.4 or greater.


 GL_INVALID_OPERATION is generated if texture is zero or not the name of an existing texture object.

 GL_INVALID_OPERATION is generated if texture is a buffer texture.

 GL_INVALID_OPERATION is generated if texture has a compressed internal format.

 GL_INVALID_OPERATION is generated if the base internal format is GL_DEPTH_COMPONENT and format is not GL_DEPTH_COMPONENT .

 GL_INVALID_OPERATION is generated if the base internal format is GL_DEPTH_STENCIL and format is not GL_DEPTH_STENCIL .

 GL_INVALID_OPERATION is generated if the base internal format is GL_STENCIL_INDEX and format is not GL_STENCIL_INDEX .

 GL_INVALID_OPERATION is generated if the base internal format is GL_RGBA and format is GL_DEPTH_COMPONENT , GL_STENCIL_INDEX , or GL_DEPTH_STENCIL .

 GL_INVALID_OPERATION is generated if the internal format is integer and format does not specify integer data.

 GL_INVALID_OPERATION is generated if the internal format is not integer and format specifies integer data.

 GL_INVALID_OPERATION is generated if the image array identified by level has not previously been defined by a call to glTexImage* or glTexStorage* .

Associated Gets[edit]

 glGetTexImage , glGetInternalformat 

Version Support[edit]

 glClearTexImage  4.4+

See Also[edit]

 glClearTexSubImage , glTexStorage1D , glTexStorage2D , glTexStorage3D , glTexImage1D , glTexImage2D , glTexImage3D 


Copyright© 2013-2014 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999.