WebGL2RenderingContext: compressedTexImage3D() Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die compressedTexImage3D() Methode der WebGL2RenderingContext Schnittstelle der WebGL API legt ein dreidimensionales Texturbild in einem komprimierten Format fest.

Komprimierte Bildformate müssen durch WebGL-Erweiterungen aktiviert werden, bevor diese Methoden verwendet werden können.

Syntax

js
// read from buffer bound to gl.PIXEL_UNPACK_BUFFER
compressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, offset)

compressedTexImage3D(target, level, internalformat, width, height, depth, border, srcData)
compressedTexImage3D(target, level, internalformat, width, height, depth, border, srcData, srcOffset)
compressedTexImage3D(target, level, internalformat, width, height, depth, border, srcData, srcOffset, srcLengthOverride)

Parameter

target

Ein GLenum, das den Bindungspunkt (Ziel) der aktiven Textur angibt. Mögliche Werte für compressedTexImage3D:

  • gl.TEXTURE_2D_ARRAY
  • gl.TEXTURE_3D
level

Ein GLint, der das Detailniveau angibt. Level 0 ist das Basisbild und Level n ist die n-te Mipmap-Reduktionsstufe.

internalformat

Ein GLenum, der das komprimierte Bildformat angibt. Komprimierte Bildformate müssen durch WebGL-Erweiterungen aktiviert werden, bevor diese Methode verwendet wird. Siehe komprimierte Texturformate, um zu erfahren, welche für compressedTexImage3D gültig sind. Mögliche Werte:

  • Bei Verwendung der WEBGL_compressed_texture_s3tc-Erweiterung:

    • ext.COMPRESSED_RGB_S3TC_DXT1_EXT
    • ext.COMPRESSED_RGBA_S3TC_DXT1_EXT
    • ext.COMPRESSED_RGBA_S3TC_DXT3_EXT
    • ext.COMPRESSED_RGBA_S3TC_DXT5_EXT
  • Bei Verwendung der WEBGL_compressed_texture_s3tc_srgb-Erweiterung:

    • ext.COMPRESSED_SRGB_S3TC_DXT1_EXT
    • ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
    • ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
    • ext.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
  • Bei Verwendung der WEBGL_compressed_texture_etc-Erweiterung:

    • ext.COMPRESSED_R11_EAC
    • ext.COMPRESSED_SIGNED_R11_EAC
    • ext.COMPRESSED_RG11_EAC
    • ext.COMPRESSED_SIGNED_RG11_EAC
    • ext.COMPRESSED_RGB8_ETC2
    • ext.COMPRESSED_RGBA8_ETC2_EAC
    • ext.COMPRESSED_SRGB8_ETC2
    • ext.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
    • ext.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
    • ext.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
  • Bei Verwendung der WEBGL_compressed_texture_pvrtc-Erweiterung:

    • ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
    • ext.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
    • ext.COMPRESSED_RGB_PVRTC_2BPPV1_IMG
    • ext.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG
  • Bei Verwendung der WEBGL_compressed_texture_etc1-Erweiterung:

    • ext.COMPRESSED_RGB_ETC1_WEBGL
  • Bei Verwendung der WEBGL_compressed_texture_astc-Erweiterung:

    • ext.COMPRESSED_RGBA_ASTC_4x4_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR
    • ext.COMPRESSED_RGBA_ASTC_5x4_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR
    • ext.COMPRESSED_RGBA_ASTC_5x5_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR
    • ext.COMPRESSED_RGBA_ASTC_6x5_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR
    • ext.COMPRESSED_RGBA_ASTC_6x6_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR
    • ext.COMPRESSED_RGBA_ASTC_8x5_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR
    • ext.COMPRESSED_RGBA_ASTC_8x6_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR
    • ext.COMPRESSED_RGBA_ASTC_8x8_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR
    • ext.COMPRESSED_RGBA_ASTC_10x5_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR
    • ext.COMPRESSED_RGBA_ASTC_10x6_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR
    • ext.COMPRESSED_RGBA_ASTC_10x10_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR
    • ext.COMPRESSED_RGBA_ASTC_12x10_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR
    • ext.COMPRESSED_RGBA_ASTC_12x12_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR
  • Bei Verwendung der EXT_texture_compression_bptc-Erweiterung:

    • ext.COMPRESSED_RGBA_BPTC_UNORM_EXT
    • ext.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT
    • ext.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT
    • ext.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT
  • Bei Verwendung der EXT_texture_compression_rgtc-Erweiterung:

    • ext.COMPRESSED_RED_RGTC1_EXT
    • ext.COMPRESSED_SIGNED_RED_RGTC1_EXT
    • ext.COMPRESSED_RED_GREEN_RGTC2_EXT
    • ext.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT
width

Ein GLsizei, der die Breite der Textur angibt.

height

Ein GLsizei, der die Höhe der Textur angibt.

depth

Ein GLsizei, der die Tiefe der Textur/die Anzahl der Texturen in einem TEXTURE_2D_ARRAY angibt.

border

Ein GLint, der die Breite des Randes angibt. Muss 0 sein.

imageSize

Ein GLsizei, der die Anzahl der Bytes angibt, die aus dem an gl.PIXEL_UNPACK_BUFFER gebundenen Puffer gelesen werden sollen.

offset

Ein GLintptr, der den Offset in Bytes angibt, ab dem aus dem an gl.PIXEL_UNPACK_BUFFER gebundenen Puffer gelesen werden soll.

Rückgabewert

Keiner (undefined).

Spezifikationen

Specification
WebGL 2.0 Specification
# 3.7.6

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch