Class ARBTextureCompression
Compressing texture images can reduce texture memory utilization and improve performance when rendering textured primitives. This extension allows OpenGL applications to use compressed texture images by providing:
- A framework upon which extensions providing specific compressed image formats can be built.
- A set of generic compressed internal formats that allow applications to specify that texture images should be stored in compressed form without needing to code for specific compression formats.
An application can define compressed texture images by providing a texture image stored in a specific compressed image format. This extension does not define any specific compressed image formats, but it does provide the mechanisms necessary to enable other extensions that do.
An application can also define compressed texture images by providing an uncompressed texture image but specifying a compressed internal format. In this case, the GL will automatically compress the texture image using the appropriate image format. Compressed internal formats can either be specific (as above) or generic. Generic compressed internal formats are not actual image formats, but are instead mapped into one of the specific compressed formats provided by the GL (or to an uncompressed base internal format if no appropriate compressed format is available). Generic compressed internal formats allow applications to use texture compression without needing to code to any particular compression algorithm. Generic compressed formats allow the use of texture compression across a wide range of platforms with differing compression algorithms and also allow future GL implementations to substitute improved compression methods transparently.
Promoted to core in OpenGL 1.3.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intAccepted by theinternalformatparameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D.static final intAccepted by theinternalformatparameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D.static final intAccepted by theinternalformatparameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D.static final intAccepted by theinternalformatparameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D.static final intAccepted by theinternalformatparameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D.static final intAccepted by theinternalformatparameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D.static final intAccepted by thevalueparameter of GetIntegerv, GetBooleanv, GetFloatv, and GetDoublev.static final intAccepted by thevalueparameter of GetIntegerv, GetBooleanv, GetFloatv, and GetDoublev.static final intAccepted by thevalueparameter of GetTexLevelParameter.static final intAccepted by thevalueparameter of GetTexLevelParameter.static final intAccepted by thetargetparameter of Hint and thevalueparameter of GetIntegerv, GetBooleanv, GetFloatv, and GetDoublev. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidglCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, long data) Specifies a one-dimensional texture image in a compressed format.static voidglCompressedTexImage1DARB(int target, int level, int internalformat, int width, ByteBuffer data) Specifies a one-dimensional texture image in a compressed format.static voidglCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, long data) Specifies a two-dimensional texture image in a compressed format.static voidglCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, ByteBuffer data) Specifies a two-dimensional texture image in a compressed format.static voidglCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, long data) Specifies a three-dimensional texture image in a compressed format.static voidglCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, ByteBuffer data) Specifies a three-dimensional texture image in a compressed format.static voidglCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, long data) Respecifies only a subregion of an existing 1D texel array, with incoming data stored in a specific compressed image format.static voidglCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, ByteBuffer data) Respecifies only a subregion of an existing 1D texel array, with incoming data stored in a specific compressed image format.static voidglCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, long data) Respecifies only a rectangular subregion of an existing 2D texel array, with incoming data stored in a specific compressed image format.static voidglCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, ByteBuffer data) Respecifies only a rectangular subregion of an existing 2D texel array, with incoming data stored in a specific compressed image format.static voidglCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, long data) Respecifies only a cubic subregion of an existing 3D texel array, with incoming data stored in a specific compressed image format.static voidglCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, ByteBuffer data) Respecifies only a cubic subregion of an existing 3D texel array, with incoming data stored in a specific compressed image format.static voidglGetCompressedTexImageARB(int target, int level, long pixels) Returns a compressed texture image.static voidglGetCompressedTexImageARB(int target, int level, ByteBuffer pixels) Returns a compressed texture image.static voidnglCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, long data) Unsafe version of:CompressedTexImage1DARBstatic voidnglCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, long data) Unsafe version of:CompressedTexImage2DARBstatic voidnglCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, long data) Unsafe version of:CompressedTexImage3DARBstatic voidnglCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, long data) Unsafe version of:CompressedTexSubImage1DARBstatic voidnglCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, long data) Unsafe version of:CompressedTexSubImage2DARBstatic voidnglCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, long data) Unsafe version of:CompressedTexSubImage3DARBstatic voidnglGetCompressedTexImageARB(int target, int level, long pixels) Unsafe version of:GetCompressedTexImageARB
-
Field Details
-
GL_COMPRESSED_ALPHA_ARB
public static final int GL_COMPRESSED_ALPHA_ARBAccepted by theinternalformatparameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D.- See Also:
-
GL_COMPRESSED_LUMINANCE_ARB
public static final int GL_COMPRESSED_LUMINANCE_ARBAccepted by theinternalformatparameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D.- See Also:
-
GL_COMPRESSED_LUMINANCE_ALPHA_ARB
public static final int GL_COMPRESSED_LUMINANCE_ALPHA_ARBAccepted by theinternalformatparameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D.- See Also:
-
GL_COMPRESSED_INTENSITY_ARB
public static final int GL_COMPRESSED_INTENSITY_ARBAccepted by theinternalformatparameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D.- See Also:
-
GL_COMPRESSED_RGB_ARB
public static final int GL_COMPRESSED_RGB_ARBAccepted by theinternalformatparameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D.- See Also:
-
GL_COMPRESSED_RGBA_ARB
public static final int GL_COMPRESSED_RGBA_ARBAccepted by theinternalformatparameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D.- See Also:
-
GL_TEXTURE_COMPRESSION_HINT_ARB
public static final int GL_TEXTURE_COMPRESSION_HINT_ARBAccepted by thetargetparameter of Hint and thevalueparameter of GetIntegerv, GetBooleanv, GetFloatv, and GetDoublev.- See Also:
-
GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB
public static final int GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARBAccepted by thevalueparameter of GetTexLevelParameter.- See Also:
-
GL_TEXTURE_COMPRESSED_ARB
public static final int GL_TEXTURE_COMPRESSED_ARBAccepted by thevalueparameter of GetTexLevelParameter.- See Also:
-
GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB
public static final int GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARBAccepted by thevalueparameter of GetIntegerv, GetBooleanv, GetFloatv, and GetDoublev.- See Also:
-
GL_COMPRESSED_TEXTURE_FORMATS_ARB
public static final int GL_COMPRESSED_TEXTURE_FORMATS_ARBAccepted by thevalueparameter of GetIntegerv, GetBooleanv, GetFloatv, and GetDoublev.- See Also:
-
-
Method Details
-
nglCompressedTexImage3DARB
public static void nglCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, long data) Unsafe version of:CompressedTexImage3DARB- Parameters:
imageSize- the number of unsigned bytes of image data starting at the address specified bydata
-
glCompressedTexImage3DARB
public static void glCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, int border, int imageSize, long data) Specifies a three-dimensional texture image in a compressed format.- Parameters:
target- the target texture. One of:TEXTURE_3DTEXTURE_2D_ARRAYTEXTURE_CUBE_MAP_ARRAYPROXY_TEXTURE_3DPROXY_TEXTURE_2D_ARRAYPROXY_TEXTURE_CUBE_MAP_ARRAYlevel- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.internalformat- the format of the compressed image data. One of:width- the width of the texture imageheight- the height of the texture imagedepth- the depth of the texture imageborder- must be 0imageSize- the number of unsigned bytes of image data starting at the address specified bydatadata- a pointer to the compressed image data
-
glCompressedTexImage3DARB
public static void glCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, ByteBuffer data) Specifies a three-dimensional texture image in a compressed format.- Parameters:
target- the target texture. One of:TEXTURE_3DTEXTURE_2D_ARRAYTEXTURE_CUBE_MAP_ARRAYPROXY_TEXTURE_3DPROXY_TEXTURE_2D_ARRAYPROXY_TEXTURE_CUBE_MAP_ARRAYlevel- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.internalformat- the format of the compressed image data. One of:width- the width of the texture imageheight- the height of the texture imagedepth- the depth of the texture imagedata- a pointer to the compressed image data
-
nglCompressedTexImage2DARB
public static void nglCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, long data) Unsafe version of:CompressedTexImage2DARB- Parameters:
imageSize- the number of unsigned bytes of image data starting at the address specified bydata
-
glCompressedTexImage2DARB
public static void glCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, int border, int imageSize, long data) Specifies a two-dimensional texture image in a compressed format.- Parameters:
target- the target texture. One of:TEXTURE_2DTEXTURE_1D_ARRAYTEXTURE_RECTANGLETEXTURE_CUBE_MAPPROXY_TEXTURE_2DPROXY_TEXTURE_1D_ARRAYPROXY_TEXTURE_RECTANGLEPROXY_TEXTURE_CUBE_MAPlevel- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.internalformat- the format of the compressed image data. One of:width- the width of the texture imageheight- the height of the texture imageborder- must be 0imageSize- the number of unsigned bytes of image data starting at the address specified bydatadata- a pointer to the compressed image data
-
glCompressedTexImage2DARB
public static void glCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, ByteBuffer data) Specifies a two-dimensional texture image in a compressed format.- Parameters:
target- the target texture. One of:TEXTURE_2DTEXTURE_1D_ARRAYTEXTURE_RECTANGLETEXTURE_CUBE_MAPPROXY_TEXTURE_2DPROXY_TEXTURE_1D_ARRAYPROXY_TEXTURE_RECTANGLEPROXY_TEXTURE_CUBE_MAPlevel- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.internalformat- the format of the compressed image data. One of:width- the width of the texture imageheight- the height of the texture imagedata- a pointer to the compressed image data
-
nglCompressedTexImage1DARB
public static void nglCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, long data) Unsafe version of:CompressedTexImage1DARB- Parameters:
imageSize- the number of unsigned bytes of image data starting at the address specified bydata
-
glCompressedTexImage1DARB
public static void glCompressedTexImage1DARB(int target, int level, int internalformat, int width, int border, int imageSize, long data) Specifies a one-dimensional texture image in a compressed format.- Parameters:
target- the target texture. One of:TEXTURE_1DPROXY_TEXTURE_1Dlevel- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.internalformat- the format of the compressed image data. One of:width- the width of the texture imageborder- must be 0imageSize- the number of unsigned bytes of image data starting at the address specified bydatadata- a pointer to the compressed image data
-
glCompressedTexImage1DARB
public static void glCompressedTexImage1DARB(int target, int level, int internalformat, int width, ByteBuffer data) Specifies a one-dimensional texture image in a compressed format.- Parameters:
target- the target texture. One of:TEXTURE_1DPROXY_TEXTURE_1Dlevel- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.internalformat- the format of the compressed image data. One of:width- the width of the texture imagedata- a pointer to the compressed image data
-
nglCompressedTexSubImage3DARB
public static void nglCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, long data) Unsafe version of:CompressedTexSubImage3DARB- Parameters:
imageSize- the number of unsigned bytes of image data starting at the address specified bydata
-
glCompressedTexSubImage3DARB
public static void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, int imageSize, long data) Respecifies only a cubic subregion of an existing 3D texel array, with incoming data stored in a specific compressed image format.- Parameters:
target- the target texture. One of:TEXTURE_3DTEXTURE_2D_ARRAYTEXTURE_CUBE_MAP_ARRAYlevel- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.xoffset- a texel offset in the x direction within the texture arrayyoffset- a texel offset in the y direction within the texture arrayzoffset- a texel offset in the z direction within the texture arraywidth- the width of the texture subimageheight- the height of the texture subimagedepth- the depth of the texture subimageformat- the format of the compressed image data stored at addressdata. One of:imageSize- the number of unsigned bytes of image data starting at the address specified bydatadata- a pointer to the compressed image data
-
glCompressedTexSubImage3DARB
public static void glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, ByteBuffer data) Respecifies only a cubic subregion of an existing 3D texel array, with incoming data stored in a specific compressed image format.- Parameters:
target- the target texture. One of:TEXTURE_3DTEXTURE_2D_ARRAYTEXTURE_CUBE_MAP_ARRAYlevel- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.xoffset- a texel offset in the x direction within the texture arrayyoffset- a texel offset in the y direction within the texture arrayzoffset- a texel offset in the z direction within the texture arraywidth- the width of the texture subimageheight- the height of the texture subimagedepth- the depth of the texture subimageformat- the format of the compressed image data stored at addressdata. One of:data- a pointer to the compressed image data
-
nglCompressedTexSubImage2DARB
public static void nglCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, long data) Unsafe version of:CompressedTexSubImage2DARB- Parameters:
imageSize- the number of unsigned bytes of image data starting at the address specified bydata
-
glCompressedTexSubImage2DARB
public static void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, int imageSize, long data) Respecifies only a rectangular subregion of an existing 2D texel array, with incoming data stored in a specific compressed image format.- Parameters:
target- the target texture. One of:TEXTURE_2DTEXTURE_1D_ARRAYTEXTURE_RECTANGLETEXTURE_CUBE_MAPlevel- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.xoffset- a texel offset in the x direction within the texture arrayyoffset- a texel offset in the y direction within the texture arraywidth- the width of the texture subimageheight- the height of the texture subimageformat- the format of the compressed image data stored at addressdata. One of:imageSize- the number of unsigned bytes of image data starting at the address specified bydatadata- a pointer to the compressed image data
-
glCompressedTexSubImage2DARB
public static void glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, ByteBuffer data) Respecifies only a rectangular subregion of an existing 2D texel array, with incoming data stored in a specific compressed image format.- Parameters:
target- the target texture. One of:TEXTURE_2DTEXTURE_1D_ARRAYTEXTURE_RECTANGLETEXTURE_CUBE_MAPlevel- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.xoffset- a texel offset in the x direction within the texture arrayyoffset- a texel offset in the y direction within the texture arraywidth- the width of the texture subimageheight- the height of the texture subimageformat- the format of the compressed image data stored at addressdata. One of:data- a pointer to the compressed image data
-
nglCompressedTexSubImage1DARB
public static void nglCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, long data) Unsafe version of:CompressedTexSubImage1DARB- Parameters:
imageSize- the number of unsigned bytes of image data starting at the address specified bydata
-
glCompressedTexSubImage1DARB
public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, int imageSize, long data) Respecifies only a subregion of an existing 1D texel array, with incoming data stored in a specific compressed image format.- Parameters:
target- the target texture. Must be:TEXTURE_1Dlevel- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.xoffset- a texel offset in the x direction within the texture arraywidth- the width of the texture subimageformat- the format of the compressed image data stored at addressdata. One of:imageSize- the number of unsigned bytes of image data starting at the address specified bydatadata- a pointer to the compressed image data
-
glCompressedTexSubImage1DARB
public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, ByteBuffer data) Respecifies only a subregion of an existing 1D texel array, with incoming data stored in a specific compressed image format.- Parameters:
target- the target texture. Must be:TEXTURE_1Dlevel- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.xoffset- a texel offset in the x direction within the texture arraywidth- the width of the texture subimageformat- the format of the compressed image data stored at addressdata. One of:data- a pointer to the compressed image data
-
nglGetCompressedTexImageARB
public static void nglGetCompressedTexImageARB(int target, int level, long pixels) Unsafe version of:GetCompressedTexImageARB -
glGetCompressedTexImageARB
Returns a compressed texture image.- Parameters:
target- the target texture. One of:level- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.pixels- a buffer in which to return the compressed texture image
-
glGetCompressedTexImageARB
public static void glGetCompressedTexImageARB(int target, int level, long pixels) Returns a compressed texture image.- Parameters:
target- the target texture. One of:level- the level-of-detail number. Level 0 is the base image level. Level n is the nth mipmap reduction image.pixels- a buffer in which to return the compressed texture image
-