Browse Source

Compressed image support, part 11: support ASTC formats.

pull/107/head
Vladimír Vondruš 11 years ago
parent
commit
a91d6fc193
  1. 8
      doc/opengl-support.dox
  2. 60
      src/Magnum/AbstractTexture.cpp
  3. 30
      src/Magnum/ColorFormat.cpp
  4. 396
      src/Magnum/ColorFormat.h
  5. 394
      src/Magnum/TextureFormat.h

8
doc/opengl-support.dox

@ -234,8 +234,8 @@ GLSL 4.50 | done
Extension | Status
------------------------------------------- | ------
@extension{ARB,robustness} | done
@extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} | |
@extension{KHR,texture_compression_astc_hdr} | |
@extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} | done
@extension{KHR,texture_compression_astc_hdr} | done
@extension{ARB,robustness_isolation} | done
@extension{ARB,bindless_texture} | |
@extension{ARB,compute_variable_group_size} | |
@ -371,8 +371,8 @@ Extension | Status
@es_extension{EXT,texture_buffer} | done
@es_extension{EXT,texture_cube_map_array} | done
@es_extension{EXT,primitive_bounding_box} | |
@es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} | |
@es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} | |
@es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr} | done
@es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr} | done
@es_extension{KHR,debug} | see above
@es_extension2{KHR,blend_equation_advanced,blend_equation_advanced} | |
@es_extension2{KHR,blend_equation_advanced_coherent,blend_equation_advanced} | |

60
src/Magnum/AbstractTexture.cpp

@ -646,6 +646,36 @@ ColorFormat AbstractTexture::imageFormatForInternalFormat(const TextureFormat in
case TextureFormat::CompressedRGBAS3tcDxt1:
case TextureFormat::CompressedRGBAS3tcDxt3:
case TextureFormat::CompressedRGBAS3tcDxt5:
#ifndef MAGNUM_TARGET_WEBGL
case TextureFormat::CompressedRGBAAstc4x4:
case TextureFormat::CompressedSRGB8Alpha8Astc4x4:
case TextureFormat::CompressedRGBAAstc5x4:
case TextureFormat::CompressedSRGB8Alpha8Astc5x4:
case TextureFormat::CompressedRGBAAstc5x5:
case TextureFormat::CompressedSRGB8Alpha8Astc5x5:
case TextureFormat::CompressedRGBAAstc6x5:
case TextureFormat::CompressedSRGB8Alpha8Astc6x5:
case TextureFormat::CompressedRGBAAstc6x6:
case TextureFormat::CompressedSRGB8Alpha8Astc6x6:
case TextureFormat::CompressedRGBAAstc8x5:
case TextureFormat::CompressedSRGB8Alpha8Astc8x5:
case TextureFormat::CompressedRGBAAstc8x6:
case TextureFormat::CompressedSRGB8Alpha8Astc8x6:
case TextureFormat::CompressedRGBAAstc8x8:
case TextureFormat::CompressedSRGB8Alpha8Astc8x8:
case TextureFormat::CompressedRGBAAstc10x5:
case TextureFormat::CompressedSRGB8Alpha8Astc10x5:
case TextureFormat::CompressedRGBAAstc10x6:
case TextureFormat::CompressedSRGB8Alpha8Astc10x6:
case TextureFormat::CompressedRGBAAstc10x8:
case TextureFormat::CompressedSRGB8Alpha8Astc10x8:
case TextureFormat::CompressedRGBAAstc10x10:
case TextureFormat::CompressedSRGB8Alpha8Astc10x10:
case TextureFormat::CompressedRGBAAstc12x10:
case TextureFormat::CompressedSRGB8Alpha8Astc12x10:
case TextureFormat::CompressedRGBAAstc12x12:
case TextureFormat::CompressedSRGB8Alpha8Astc12x12:
#endif
return ColorFormat::RGBA;
#ifndef MAGNUM_TARGET_GLES2
@ -756,6 +786,36 @@ ColorType AbstractTexture::imageTypeForInternalFormat(const TextureFormat intern
case TextureFormat::CompressedRGBAS3tcDxt1:
case TextureFormat::CompressedRGBAS3tcDxt3:
case TextureFormat::CompressedRGBAS3tcDxt5:
#ifndef MAGNUM_TARGET_WEBGL
case TextureFormat::CompressedRGBAAstc4x4:
case TextureFormat::CompressedSRGB8Alpha8Astc4x4:
case TextureFormat::CompressedRGBAAstc5x4:
case TextureFormat::CompressedSRGB8Alpha8Astc5x4:
case TextureFormat::CompressedRGBAAstc5x5:
case TextureFormat::CompressedSRGB8Alpha8Astc5x5:
case TextureFormat::CompressedRGBAAstc6x5:
case TextureFormat::CompressedSRGB8Alpha8Astc6x5:
case TextureFormat::CompressedRGBAAstc6x6:
case TextureFormat::CompressedSRGB8Alpha8Astc6x6:
case TextureFormat::CompressedRGBAAstc8x5:
case TextureFormat::CompressedSRGB8Alpha8Astc8x5:
case TextureFormat::CompressedRGBAAstc8x6:
case TextureFormat::CompressedSRGB8Alpha8Astc8x6:
case TextureFormat::CompressedRGBAAstc8x8:
case TextureFormat::CompressedSRGB8Alpha8Astc8x8:
case TextureFormat::CompressedRGBAAstc10x5:
case TextureFormat::CompressedSRGB8Alpha8Astc10x5:
case TextureFormat::CompressedRGBAAstc10x6:
case TextureFormat::CompressedSRGB8Alpha8Astc10x6:
case TextureFormat::CompressedRGBAAstc10x8:
case TextureFormat::CompressedSRGB8Alpha8Astc10x8:
case TextureFormat::CompressedRGBAAstc10x10:
case TextureFormat::CompressedSRGB8Alpha8Astc10x10:
case TextureFormat::CompressedRGBAAstc12x10:
case TextureFormat::CompressedSRGB8Alpha8Astc12x10:
case TextureFormat::CompressedRGBAAstc12x12:
case TextureFormat::CompressedSRGB8Alpha8Astc12x12:
#endif
return ColorType::UnsignedByte;
#ifndef MAGNUM_TARGET_GLES2

30
src/Magnum/ColorFormat.cpp

@ -170,6 +170,36 @@ Debug operator<<(Debug debug, const CompressedColorFormat value) {
_c(RGBAS3tcDxt1)
_c(RGBAS3tcDxt3)
_c(RGBAS3tcDxt5)
#ifndef MAGNUM_TARGET_WEBGL
_c(RGBAAstc4x4)
_c(SRGB8Alpha8Astc4x4)
_c(RGBAAstc5x4)
_c(SRGB8Alpha8Astc5x4)
_c(RGBAAstc5x5)
_c(SRGB8Alpha8Astc5x5)
_c(RGBAAstc6x5)
_c(SRGB8Alpha8Astc6x5)
_c(RGBAAstc6x6)
_c(SRGB8Alpha8Astc6x6)
_c(RGBAAstc8x5)
_c(SRGB8Alpha8Astc8x5)
_c(RGBAAstc8x6)
_c(SRGB8Alpha8Astc8x6)
_c(RGBAAstc8x8)
_c(SRGB8Alpha8Astc8x8)
_c(RGBAAstc10x5)
_c(SRGB8Alpha8Astc10x5)
_c(RGBAAstc10x6)
_c(SRGB8Alpha8Astc10x6)
_c(RGBAAstc10x8)
_c(SRGB8Alpha8Astc10x8)
_c(RGBAAstc10x10)
_c(SRGB8Alpha8Astc10x10)
_c(RGBAAstc12x10)
_c(SRGB8Alpha8Astc12x10)
_c(RGBAAstc12x12)
_c(SRGB8Alpha8Astc12x12)
#endif
#undef _c
}

396
src/Magnum/ColorFormat.h

@ -795,7 +795,401 @@ enum class CompressedColorFormat: GLenum {
* @requires_es_extension Extension @es_extension2{EXT,texture_compression_s3tc,texture_compression_s3tc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc}
*/
RGBAS3tcDxt5 = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
RGBAS3tcDxt5 = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT,
#ifndef MAGNUM_TARGET_WEBGL
/**
* ASTC compressed RGBA with 4x4 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
RGBAAstc4x4 = GL_COMPRESSED_RGBA_ASTC_4x4_KHR,
/**
* ASTC compressed sRGB with alpha with 4x4 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
SRGB8Alpha8Astc4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
/**
* ASTC compressed RGBA with 5x4 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
RGBAAstc5x4 = GL_COMPRESSED_RGBA_ASTC_5x4_KHR,
/**
* ASTC compressed sRGB with alpha with 5x4 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
SRGB8Alpha8Astc5x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,
/**
* ASTC compressed RGBA with 5x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
RGBAAstc5x5 = GL_COMPRESSED_RGBA_ASTC_5x5_KHR,
/**
* ASTC compressed sRGB with alpha with 5x5 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
SRGB8Alpha8Astc5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
/**
* ASTC compressed RGBA with 6x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
RGBAAstc6x5 = GL_COMPRESSED_RGBA_ASTC_6x5_KHR,
/**
* ASTC compressed sRGB with alpha with 6x5 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
SRGB8Alpha8Astc6x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
/**
* ASTC compressed RGBA with 6x6 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
RGBAAstc6x6 = GL_COMPRESSED_RGBA_ASTC_6x6_KHR,
/**
* ASTC compressed sRGB with alpha with 6x6 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
SRGB8Alpha8Astc6x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
/**
* ASTC compressed RGBA with 8x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
RGBAAstc8x5 = GL_COMPRESSED_RGBA_ASTC_8x5_KHR,
/**
* ASTC compressed sRGB with alpha with 8x5 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
SRGB8Alpha8Astc8x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
/**
* ASTC compressed RGBA with 8x6 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
RGBAAstc8x6 = GL_COMPRESSED_RGBA_ASTC_8x6_KHR,
/**
* ASTC compressed sRGB with alpha with 8x6 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
SRGB8Alpha8Astc8x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
/**
* ASTC compressed RGBA with 8x8 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
RGBAAstc8x8 = GL_COMPRESSED_RGBA_ASTC_8x8_KHR,
/**
* ASTC compressed sRGB with alpha with 8x8 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
SRGB8Alpha8Astc8x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
/**
* ASTC compressed RGBA with 10x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
RGBAAstc10x5 = GL_COMPRESSED_RGBA_ASTC_10x5_KHR,
/**
* ASTC compressed sRGB with alpha with 10x5 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
SRGB8Alpha8Astc10x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
/**
* ASTC compressed RGBA with 10x6 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
RGBAAstc10x6 = GL_COMPRESSED_RGBA_ASTC_10x6_KHR,
/**
* ASTC compressed sRGB with alpha with 10x6 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
SRGB8Alpha8Astc10x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
/**
* ASTC compressed RGBA with 10x8 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
RGBAAstc10x8 = GL_COMPRESSED_RGBA_ASTC_10x8_KHR,
/**
* ASTC compressed sRGB with alpha with 10x8 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
SRGB8Alpha8Astc10x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
/**
* ASTC compressed RGBA with 10x10 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
RGBAAstc10x10 = GL_COMPRESSED_RGBA_ASTC_10x10_KHR,
/**
* ASTC compressed sRGB with alpha with 10x10 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
SRGB8Alpha8Astc10x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
/**
* ASTC compressed RGBA with 12x10 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
RGBAAstc12x10 = GL_COMPRESSED_RGBA_ASTC_12x10_KHR,
/**
* ASTC compressed sRGB with alpha with 12x10 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
SRGB8Alpha8Astc12x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
/**
* ASTC compressed RGBA with 12x12 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
RGBAAstc12x12 = GL_COMPRESSED_RGBA_ASTC_12x12_KHR,
/**
* ASTC compressed sRGB with alpha with 12x12 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
SRGB8Alpha8Astc12x12 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
#endif
};
/** @debugoperatorenum{Magnum::ColorFormat} */

394
src/Magnum/TextureFormat.h

@ -1056,6 +1056,400 @@ enum class TextureFormat: GLenum {
*/
CompressedRGBAS3tcDxt5 = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT,
#ifndef MAGNUM_TARGET_WEBGL
/**
* ASTC compressed RGBA with 4x4 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedRGBAAstc4x4 = GL_COMPRESSED_RGBA_ASTC_4x4_KHR,
/**
* ASTC compressed sRGB with alpha with 4x4 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedSRGB8Alpha8Astc4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
/**
* ASTC compressed RGBA with 5x4 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedRGBAAstc5x4 = GL_COMPRESSED_RGBA_ASTC_5x4_KHR,
/**
* ASTC compressed sRGB with alpha with 5x4 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedSRGB8Alpha8Astc5x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,
/**
* ASTC compressed RGBA with 5x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedRGBAAstc5x5 = GL_COMPRESSED_RGBA_ASTC_5x5_KHR,
/**
* ASTC compressed sRGB with alpha with 5x5 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedSRGB8Alpha8Astc5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
/**
* ASTC compressed RGBA with 6x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedRGBAAstc6x5 = GL_COMPRESSED_RGBA_ASTC_6x5_KHR,
/**
* ASTC compressed sRGB with alpha with 6x5 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedSRGB8Alpha8Astc6x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
/**
* ASTC compressed RGBA with 6x6 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedRGBAAstc6x6 = GL_COMPRESSED_RGBA_ASTC_6x6_KHR,
/**
* ASTC compressed sRGB with alpha with 6x6 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedSRGB8Alpha8Astc6x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
/**
* ASTC compressed RGBA with 8x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedRGBAAstc8x5 = GL_COMPRESSED_RGBA_ASTC_8x5_KHR,
/**
* ASTC compressed sRGB with alpha with 8x5 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedSRGB8Alpha8Astc8x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
/**
* ASTC compressed RGBA with 8x6 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedRGBAAstc8x6 = GL_COMPRESSED_RGBA_ASTC_8x6_KHR,
/**
* ASTC compressed sRGB with alpha with 8x6 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedSRGB8Alpha8Astc8x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
/**
* ASTC compressed RGBA with 8x8 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedRGBAAstc8x8 = GL_COMPRESSED_RGBA_ASTC_8x8_KHR,
/**
* ASTC compressed sRGB with alpha with 8x8 blocks. **Available only on 2D,
* 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedSRGB8Alpha8Astc8x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
/**
* ASTC compressed RGBA with 10x5 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedRGBAAstc10x5 = GL_COMPRESSED_RGBA_ASTC_10x5_KHR,
/**
* ASTC compressed sRGB with alpha with 10x5 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedSRGB8Alpha8Astc10x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
/**
* ASTC compressed RGBA with 10x6 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedRGBAAstc10x6 = GL_COMPRESSED_RGBA_ASTC_10x6_KHR,
/**
* ASTC compressed sRGB with alpha with 10x6 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedSRGB8Alpha8Astc10x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
/**
* ASTC compressed RGBA with 10x8 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedRGBAAstc10x8 = GL_COMPRESSED_RGBA_ASTC_10x8_KHR,
/**
* ASTC compressed sRGB with alpha with 10x8 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedSRGB8Alpha8Astc10x8 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
/**
* ASTC compressed RGBA with 10x10 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedRGBAAstc10x10 = GL_COMPRESSED_RGBA_ASTC_10x10_KHR,
/**
* ASTC compressed sRGB with alpha with 10x10 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedSRGB8Alpha8Astc10x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
/**
* ASTC compressed RGBA with 12x10 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedRGBAAstc12x10 = GL_COMPRESSED_RGBA_ASTC_12x10_KHR,
/**
* ASTC compressed sRGB with alpha with 12x10 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedSRGB8Alpha8Astc12x10 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
/**
* ASTC compressed RGBA with 12x12 blocks. **Available only on 2D, 3D, 2D
* array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedRGBAAstc12x12 = GL_COMPRESSED_RGBA_ASTC_12x12_KHR,
/**
* ASTC compressed sRGB with alpha with 12x12 blocks. **Available only on
* 2D, 3D, 2D array, cube map and cube map array textures.**
* @requires_extension Extension @extension3{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_extension Extension @extension{KHR,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_es_extension Extension @es_extension{ANDROID,extension_pack_es31a}/
* @es_extension2{KHR,texture_compression_astc_ldr,texture_compression_astc_hdr}
* @requires_es_extension Extension @es_extension2{KHR,texture_compression_astc_hdr,texture_compression_astc_hdr}
* for 3D textures and HDR profile
* @requires_gles ASTC texture compression is not available in WebGL.
*/
CompressedSRGB8Alpha8Astc12x12 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
#endif
/**
* Depth component, size implementation-dependent. Not supported in 3D
* textures. Not allowed in unemulated @ref Texture::setStorage()

Loading…
Cancel
Save