Class KHRTextureCompressionASTCLDR


  • public final class KHRTextureCompressionASTCLDR
    extends java.lang.Object
    Native bindings to the KHR_texture_compression_astc_ldr extension.

    Adaptive Scalable Texture Compression (ASTC) is a new texture compression technology that offers unprecendented flexibility, while producing better or comparable results than existing texture compressions at all bit rates. It includes support for 2D and slice-based 3D textures, with low and high dynamic range, at bitrates from below 1 bit/pixel up to 8 bits/pixel in fine steps.

    The goal of this extension is to support the full 2D profile of the ASTC texture compression specification, and allow construction of 3D textures from multiple 2D slices.

    ASTC-compressed textures are handled in OpenGL by adding new supported formats to the existing mechanisms for handling compressed textures.

    What is ASTC

    ASTC stands for Adaptive Scalable Texture Compression. The ASTC formats form a family of related compressed texture image formats. They are all derived from a common set of definitions.

    ASTC textures may be either 2D or 3D.

    ASTC textures may be encoded using either high or low dynamic range. Low dynamic range images may optionally be specified using the sRGB color space.

    A sub-profile ("HDR Profile") is defined, which supports only 2D images (and 3D images made up of multiple 2D slices) at low or high dynamic range.

    Support for this profile is indicated by the presence of the extension string "GL_KHR_texture_compression_astc_hdr". If, in future, the full profile is supported, "GL_KHR_texture_compression_astc_hdr" must still be published, in order to ensure backward compatibility.

    A lower sub-profile ("LDR Profile") may be implemented, which supports only 2D images at low dynamic range. This is indicated by the presence of the extension string "GL_KHR_texture_compression_astc_ldr". If either the HDR or full profile are implemented, then both name strings "GL_KHR_texture_compression_astc_ldr" and "GL_KHR_texture_compression_astc_hdr" must be published.

    ASTC textures may be encoded as 1, 2, 3 or 4 components, but they are all decoded into RGBA.

    ASTC has a variable block size, and this is specified as part of the name of the token passed to CompressedImage2D and its related functions.