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
TypedArray
oderDataView
, das die komprimierten Texturdaten enthält. srcOffset
Optional-
(Nur WebGL 2) Ein Integer, der den Index von
srcData
angibt, ab dem gelesen werden soll. Standardwert ist0
. srcLengthOverride
Optional-
(Nur WebGL 2) Ein Integer, der die Anzahl der in
srcData
zu 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_BUFFER
gebunden 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_s3tc
WEBGL_compressed_texture_s3tc_srgb
WEBGL_compressed_texture_etc
WEBGL_compressed_texture_pvrtc
WEBGL_compressed_texture_astc
EXT_texture_compression_bptc
EXT_texture_compression_rgtc