WebGLRenderingContext: Methode compressedTexSubImage2D()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die compressedTexSubImage2D()-Methode des WebGLRenderingContext-Interfaces der WebGL API legt ein zweidimensionales Sub-Rechteck für ein Texturbild in einem komprimierten Format fest.
Komprimierte Bildformate sind nur über den WebGL2RenderingContext oder einige WebGL-Erweiterungen verfügbar.
Syntax
// WebGL 1:
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData)
// Additionally available in WebGL 2:
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData, srcOffset)
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData, srcOffset, srcLengthOverride)
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, offset)
Parameter
target-
Ein
GLenum, das den Bindungspunkt (Ziel) der aktiven komprimierten Textur angibt. Mögliche Werte:gl.TEXTURE_2D: Eine zweidimensionale Textur.gl.TEXTURE_CUBE_MAP_POSITIVE_X: Positive X-Seite für eine würfelgemappte Textur.gl.TEXTURE_CUBE_MAP_NEGATIVE_X: Negative X-Seite für eine würfelgemappte Textur.gl.TEXTURE_CUBE_MAP_POSITIVE_Y: Positive Y-Seite für eine würfelgemappte Textur.gl.TEXTURE_CUBE_MAP_NEGATIVE_Y: Negative Y-Seite für eine würfelgemappte Textur.gl.TEXTURE_CUBE_MAP_POSITIVE_Z: Positive Z-Seite für eine würfelgemappte Textur.gl.TEXTURE_CUBE_MAP_NEGATIVE_Z: Negative Z-Seite für eine würfelgemappte Textur.
level-
Ein
GLint, das das Detailniveau angibt. Stufe 0 ist das Basisbildniveau und Stufe n ist die n-te Mipmap-Reduktionsstufe. xoffset-
Ein
GLint, das den horizontalen Versatz innerhalb des komprimierten Texturbilds angibt. yoffset-
Ein
GLint, das den vertikalen Versatz innerhalb des komprimierten Texturbilds angibt. width-
Ein
GLsizei, das die Breite der komprimierten Textur angibt. height-
Ein
GLsizei, das die Höhe der komprimierten Textur angibt. format-
Ein
GLenum, das das komprimierte Bildformat angibt. Eine Liste möglicher Werte finden Sie unterWebGLRenderingContext.compressedTexImage2D().
Die Texturquelle kann auf zwei Arten bereitgestellt werden: aus einem ArrayBuffer (möglicherweise gemeinsam genutzt) unter Verwendung von srcData, srcOffset und srcLengthOverride; oder, in WebGL 2, aus gl.PIXEL_UNPACK_BUFFER unter Verwendung von imageSize und offset.
srcData-
Ein
TypedArrayoderDataView, das die komprimierten Texturdaten enthält. srcOffsetOptional-
(Nur WebGL 2) Ein Integer, der den Index von
srcDataangibt, ab dem gelesen werden soll. Standardwert ist0. srcLengthOverrideOptional-
(Nur WebGL 2) Ein Integer, der die Anzahl der in
srcDatazu lesenden Elemente angibt. Standardwert istsrcData.length - srcOffset. imageSize-
(Nur WebGL 2) Ein
GLsizei, der die Größe der Bilddaten in Bytes angibt. offset-
(Nur WebGL 2) Ein
GLintptr, der die Startadresse im Puffer angibt, der angl.PIXEL_UNPACK_BUFFERgebunden ist.
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");
gl.compressedTexSubImage2D(
gl.TEXTURE_2D,
0,
256,
256,
512,
512,
ext.COMPRESSED_RGBA_S3TC_DXT5_EXT,
textureData,
);
Spezifikationen
| Specification |
|---|
| WebGL Specification> # COMPRESSEDTEXSUBIMAGE2D> |
Browser-Kompatibilität
Loading…
Siehe auch
- Verwendung von WebGL-Erweiterungen
WebGLRenderingContext.getExtension()WebGLRenderingContext.compressedTexImage2D()WebGL2RenderingContext.compressedTexSubImage3D()WebGL2RenderingContext.compressedTexImage3D()WEBGL_compressed_texture_s3tcWEBGL_compressed_texture_s3tc_srgbWEBGL_compressed_texture_etcWEBGL_compressed_texture_pvrtcWEBGL_compressed_texture_astcEXT_texture_compression_bptcEXT_texture_compression_rgtc