Class ARBCompressedTexturePixelStorage

java.lang.Object
org.lwjgl.opengl.ARBCompressedTexturePixelStorage

public final class ARBCompressedTexturePixelStorage extends Object
Native bindings to the ARB_compressed_texture_pixel_storage extension.

This extension expands the functionality of the PixelStorei modes to allow UNPACK_ROW_LENGTH, UNPACK_SKIP_ROWS, UNPACK_SKIP_PIXELS, UNPACK_IMAGE_HEIGHT and UNPACK_SKIP_IMAGES to affect the operation of CompressedTexImage*D and CompressedTexSubImage*D. Similarly, it also allows PACK_ROW_LENGTH, PACK_SKIP_ROWS, PACK_SKIP_PIXELS, PACK_IMAGE_HEIGHT and PACK_SKIP_IMAGES to affect the operation of GetCompressedTexImage*D. This allows data to be transferred to or from a specified sub-rectangle of a larger compressed image.

This extension is designed primarily to support compressed image formats with fixed-size blocks. To use this new mechanism, an application should program new parameters UNPACK_COMPRESSED_BLOCK_{WIDTH,HEIGHT,DEPTH,SIZE} to indicate the number of texels in each dimension of the fixed-size block as well as the number of bytes consumed by each block. These parameters, in addition to the existing PixelStore parameters, are used to identify a collection of bytes in client memory or a buffer object's data store to use as compressed texture data. This operation is unlikely to have the desired results if the client programs a block size inconsistent with the underlying compressed image format, or if the compressed image format has variable-sized blocks.

Requires OpenGL 2.1. Promoted to core in OpenGL 4.2.

  • Field Details

    • GL_UNPACK_COMPRESSED_BLOCK_WIDTH

      public static final int GL_UNPACK_COMPRESSED_BLOCK_WIDTH
      Accepted by the pname parameter of PixelStore[fi], GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.
      See Also:
    • GL_UNPACK_COMPRESSED_BLOCK_HEIGHT

      public static final int GL_UNPACK_COMPRESSED_BLOCK_HEIGHT
      Accepted by the pname parameter of PixelStore[fi], GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.
      See Also:
    • GL_UNPACK_COMPRESSED_BLOCK_DEPTH

      public static final int GL_UNPACK_COMPRESSED_BLOCK_DEPTH
      Accepted by the pname parameter of PixelStore[fi], GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.
      See Also:
    • GL_UNPACK_COMPRESSED_BLOCK_SIZE

      public static final int GL_UNPACK_COMPRESSED_BLOCK_SIZE
      Accepted by the pname parameter of PixelStore[fi], GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.
      See Also:
    • GL_PACK_COMPRESSED_BLOCK_WIDTH

      public static final int GL_PACK_COMPRESSED_BLOCK_WIDTH
      Accepted by the pname parameter of PixelStore[fi], GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.
      See Also:
    • GL_PACK_COMPRESSED_BLOCK_HEIGHT

      public static final int GL_PACK_COMPRESSED_BLOCK_HEIGHT
      Accepted by the pname parameter of PixelStore[fi], GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.
      See Also:
    • GL_PACK_COMPRESSED_BLOCK_DEPTH

      public static final int GL_PACK_COMPRESSED_BLOCK_DEPTH
      Accepted by the pname parameter of PixelStore[fi], GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.
      See Also:
    • GL_PACK_COMPRESSED_BLOCK_SIZE

      public static final int GL_PACK_COMPRESSED_BLOCK_SIZE
      Accepted by the pname parameter of PixelStore[fi], GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.
      See Also: