Class ARBTextureCompression
- java.lang.Object
-
- org.lwjgl.opengl.ARBTextureCompression
-
public class ARBTextureCompression extends java.lang.Object
Native bindings to the ARB_texture_compression extension.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
Fields Modifier and Type Field and Description static int
GL_COMPRESSED_ALPHA_ARB
GL_COMPRESSED_INTENSITY_ARB
GL_COMPRESSED_LUMINANCE_ALPHA_ARB
GL_COMPRESSED_LUMINANCE_ARB
GL_COMPRESSED_RGB_ARB
GL_COMPRESSED_RGBA_ARBAccepted by theinternalformat
parameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D.static int
GL_COMPRESSED_TEXTURE_FORMATS_ARB
GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARBAccepted by thevalue
parameter of GetIntegerv, GetBooleanv, GetFloatv, and GetDoublev.static int
GL_TEXTURE_COMPRESSED_ARB
GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARBAccepted by thevalue
parameter of GetTexLevelParameter.static int
GL_TEXTURE_COMPRESSION_HINT_ARB
Accepted by thetarget
parameter of Hint and thevalue
parameter of GetIntegerv, GetBooleanv, GetFloatv, and GetDoublev.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static void
glCompressedTexImage1DARB(int target, int level, int internalformat, int width, java.nio.ByteBuffer data)
Specifies a one-dimensional texture image in a compressed format.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.static void
glCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, java.nio.ByteBuffer data)
Specifies a two-dimensional texture image in a compressed format.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.static void
glCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, java.nio.ByteBuffer data)
Specifies a three-dimensional texture image in a compressed format.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.static void
glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, java.nio.ByteBuffer data)
Respecifies only a subregion of an existing 1D texel array, with incoming data stored in a specific compressed image format.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.static void
glCompressedTexSubImage2DARB(int target, int level, int xoffset, int yoffset, int width, int height, int format, java.nio.ByteBuffer data)
Respecifies only a rectangular subregion of an existing 2D texel array, with incoming data stored in a specific compressed image format.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.static void
glCompressedTexSubImage3DARB(int target, int level, int xoffset, int yoffset, int zoffset, int width, int height, int depth, int format, java.nio.ByteBuffer data)
Respecifies only a cubic subregion of an existing 3D texel array, with incoming data stored in a specific compressed image format.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.static void
glGetCompressedTexImageARB(int target, int level, java.nio.ByteBuffer pixels)
Returns a compressed texture image.static void
glGetCompressedTexImageARB(int target, int level, long pixels)
Returns a compressed texture image.
-
-
-
Field Detail
-
GL_COMPRESSED_ALPHA_ARB, GL_COMPRESSED_LUMINANCE_ARB, GL_COMPRESSED_LUMINANCE_ALPHA_ARB, GL_COMPRESSED_INTENSITY_ARB, GL_COMPRESSED_RGB_ARB, GL_COMPRESSED_RGBA_ARB
Accepted by theinternalformat
parameter of TexImage1D, TexImage2D, TexImage3D, CopyTexImage1D, and CopyTexImage2D.
-
GL_TEXTURE_COMPRESSION_HINT_ARB
Accepted by thetarget
parameter of Hint and thevalue
parameter of GetIntegerv, GetBooleanv, GetFloatv, and GetDoublev.
-
GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB, GL_TEXTURE_COMPRESSED_ARB
Accepted by thevalue
parameter of GetTexLevelParameter.
-
GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB, GL_COMPRESSED_TEXTURE_FORMATS_ARB
Accepted by thevalue
parameter of GetIntegerv, GetBooleanv, GetFloatv, and GetDoublev.
-
-
Method Detail
-
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_3D
TEXTURE_2D_ARRAY
TEXTURE_CUBE_MAP_ARRAY
PROXY_TEXTURE_3D
PROXY_TEXTURE_2D_ARRAY
PROXY_TEXTURE_CUBE_MAP_ARRAY
level
- 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 bydata
data
- a pointer to the compressed image data
-
glCompressedTexImage3DARB
public static void glCompressedTexImage3DARB(int target, int level, int internalformat, int width, int height, int depth, java.nio.ByteBuffer data)
Specifies a three-dimensional texture image in a compressed format.- Parameters:
target
- the target texture. One of:TEXTURE_3D
TEXTURE_2D_ARRAY
TEXTURE_CUBE_MAP_ARRAY
PROXY_TEXTURE_3D
PROXY_TEXTURE_2D_ARRAY
PROXY_TEXTURE_CUBE_MAP_ARRAY
level
- 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
-
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_2D
TEXTURE_1D_ARRAY
TEXTURE_RECTANGLE
TEXTURE_CUBE_MAP
PROXY_TEXTURE_2D
PROXY_TEXTURE_1D_ARRAY
PROXY_TEXTURE_RECTANGLE
PROXY_TEXTURE_CUBE_MAP
level
- 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 bydata
data
- a pointer to the compressed image data
-
glCompressedTexImage2DARB
public static void glCompressedTexImage2DARB(int target, int level, int internalformat, int width, int height, java.nio.ByteBuffer data)
Specifies a two-dimensional texture image in a compressed format.- Parameters:
target
- the target texture. One of:TEXTURE_2D
TEXTURE_1D_ARRAY
TEXTURE_RECTANGLE
TEXTURE_CUBE_MAP
PROXY_TEXTURE_2D
PROXY_TEXTURE_1D_ARRAY
PROXY_TEXTURE_RECTANGLE
PROXY_TEXTURE_CUBE_MAP
level
- 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
-
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_1D
PROXY_TEXTURE_1D
level
- 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 bydata
data
- a pointer to the compressed image data
-
glCompressedTexImage1DARB
public static void glCompressedTexImage1DARB(int target, int level, int internalformat, int width, java.nio.ByteBuffer data)
Specifies a one-dimensional texture image in a compressed format.- Parameters:
target
- the target texture. One of:TEXTURE_1D
PROXY_TEXTURE_1D
level
- 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
-
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_3D
TEXTURE_2D_ARRAY
TEXTURE_CUBE_MAP_ARRAY
level
- 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 bydata
data
- 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, java.nio.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_3D
TEXTURE_2D_ARRAY
TEXTURE_CUBE_MAP_ARRAY
level
- 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
-
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_2D
TEXTURE_1D_ARRAY
TEXTURE_RECTANGLE
TEXTURE_CUBE_MAP
level
- 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 bydata
data
- 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, java.nio.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_2D
TEXTURE_1D_ARRAY
TEXTURE_RECTANGLE
TEXTURE_CUBE_MAP
level
- 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
-
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_1D
level
- 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 bydata
data
- a pointer to the compressed image data
-
glCompressedTexSubImage1DARB
public static void glCompressedTexSubImage1DARB(int target, int level, int xoffset, int width, int format, java.nio.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_1D
level
- 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
-
glGetCompressedTexImageARB
public static void glGetCompressedTexImageARB(int target, int level, java.nio.ByteBuffer pixels) 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
-
-