WebGLRenderingContext: compressedTexImage2D() Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Die compressedTexImage2D()
Methode der WebGLRenderingContext
Schnittstelle
der WebGL API spezifiziert ein zweidimensionales Texturbild in einem komprimierten Format.
Komprimierte Bildformate müssen durch WebGL-Erweiterungen aktiviert werden, bevor diese Methoden verwendet werden können.
Syntax
// WebGL 1:
compressedTexImage2D(target, level, internalformat, width, height, border)
compressedTexImage2D(target, level, internalformat, width, height, border, pixels)
// Additionally available in WebGL 2:
// read from buffer bound to gl.PIXEL_UNPACK_BUFFER
compressedTexImage2D(target, level, internalformat, width, height, border, imageSize, offset)
compressedTexImage2D(target, level, internalformat, width, height, border, srcData)
compressedTexImage2D(target, level, internalformat, width, height, border, srcData, srcOffset)
compressedTexImage2D(target, level, internalformat, width, height, border, srcData, srcOffset, srcLengthOverride)
Parameter
target
-
Ein
GLenum
, der den Bindungspunkt (Ziel) der aktiven Textur angibt. Mögliche Werte fürcompressedTexImage2D
:gl.TEXTURE_2D
: Eine zweidimensionale Textur.gl.TEXTURE_CUBE_MAP_POSITIVE_X
: Positive X-Fläche für eine Würfelstruktur-Textur.gl.TEXTURE_CUBE_MAP_NEGATIVE_X
: Negative X-Fläche für eine Würfelstruktur-Textur.gl.TEXTURE_CUBE_MAP_POSITIVE_Y
: Positive Y-Fläche für eine Würfelstruktur-Textur.gl.TEXTURE_CUBE_MAP_NEGATIVE_Y
: Negative Y-Fläche für eine Würfelstruktur-Textur.gl.TEXTURE_CUBE_MAP_POSITIVE_Z
: Positive Z-Fläche für eine Würfelstruktur-Textur.gl.TEXTURE_CUBE_MAP_NEGATIVE_Z
: Negative Z-Fläche für eine Würfelstruktur-Textur.
level
-
Ein
GLint
, der die Detailstufe angibt. Stufe 0 ist die Basisbildstufe und Stufe 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. Alle Werte sind fürcompressedTexImage2D
möglich. 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 einemTEXTURE_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 angl.PIXEL_UNPACK_BUFFER
gebundenen Puffer gelesen werden sollen. offset
-
Ein
GLintptr
, der den Versatz in Bytes angibt, ab dem aus dem angl.PIXEL_UNPACK_BUFFER
gebundenen Puffer gelesen werden soll. pixels
-
Ein
TypedArray
oder einDataView
, das als Datenspeicher für die komprimierten Bilddaten im Speicher verwendet wird.
Rückgabewert
Keiner (undefined
).
Beispiele
const ext =
gl.getExtension("WEBGL_compressed_texture_s3tc") ||
gl.getExtension("MOZ_WEBGL_compressed_texture_s3tc") ||
gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");
const texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.compressedTexImage2D(
gl.TEXTURE_2D,
0,
ext.COMPRESSED_RGBA_S3TC_DXT5_EXT,
512,
512,
0,
textureData,
);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
Spezifikationen
Specification |
---|
WebGL Specification # COMPRESSEDTEXIMAGE2D |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Verwendung von WebGL-Erweiterungen
WebGLRenderingContext.compressedTexSubImage2D()
WebGL2RenderingContext.compressedTexSubImage3D()
WebGL2RenderingContext.compressedTexImage3D()
WEBGL_compressed_texture_s3tc
WEBGL_compressed_texture_s3tc_srgb
WEBGL_compressed_texture_etc
WEBGL_compressed_texture_pvrtc
WEBGL_compressed_texture_etc1
WEBGL_compressed_texture_astc
EXT_texture_compression_bptc
EXT_texture_compression_rgtc