WebGLRenderingContext: compressedTexSubImage2D()-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: Diese Funktion ist in Web Workers verfügbar.
Die WebGLRenderingContext.compressedTexSubImage2D()
-Methode der WebGL API spezifiziert ein zweidimensionales Unterrechteck für ein Texturbild in einem komprimierten Format.
Komprimierte Bildformate müssen durch WebGL-Erweiterungen aktiviert werden, bevor diese Methode verwendet wird, oder es muss ein WebGL2RenderingContext
verwendet werden.
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, imageSize, offset)
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData)
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData, srcOffset)
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData, srcOffset, srcLengthOverride)
Parameter
target
-
Ein
GLenum
, der den Bindepunkt (Ziel) der aktiven komprimierten Textur angibt. Mögliche Werte:gl.TEXTURE_2D
: Eine zweidimensionale Textur.gl.TEXTURE_CUBE_MAP_POSITIVE_X
: Positive X-Fläche für eine würfelgemappte Textur.gl.TEXTURE_CUBE_MAP_NEGATIVE_X
: Negative X-Fläche für eine würfelgemappte Textur.gl.TEXTURE_CUBE_MAP_POSITIVE_Y
: Positive Y-Fläche für eine würfelgemappte Textur.gl.TEXTURE_CUBE_MAP_NEGATIVE_Y
: Negative Y-Fläche für eine würfelgemappte Textur.gl.TEXTURE_CUBE_MAP_POSITIVE_Z
: Positive Z-Fläche für eine würfelgemappte Textur.gl.TEXTURE_CUBE_MAP_NEGATIVE_Z
: Negative Z-Fläche für eine würfelgemappte Textur.
level
-
Ein
GLint
, der die Detailstufe angibt. Stufe 0 ist die Basisbildstufe und die Stufe n ist die n-te Mipmap-Reduktionsstufe. xoffset
-
Ein
GLint
, der den horizontalen Versatz innerhalb des komprimierten Texturbildes angibt. yoffset
-
Ein
GLint
, der den vertikalen Versatz innerhalb des komprimierten Texturbildes angibt. width
-
Ein
GLsizei
, der die Breite der komprimierten Textur angibt. height
-
Ein
GLsizei
, der die Höhe der komprimierten Textur angibt. format
-
Ein
GLenum
, der das komprimierte Bildformat angibt. Komprimierte Bildformate müssen durch WebGL-Erweiterungen aktiviert werden, bevor diese Methode verwendet wird. 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_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_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
-
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 Byteversatz angibt, ab dem aus dem angl.PIXEL_UNPACK_BUFFER
gebundenen Puffer gelesen werden soll. srcData
-
Eine
TypedArray
oder einDataView
, die 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");
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
Siehe auch
- Verwendung von WebGL-Erweiterungen
WebGLRenderingContext.getExtension()
WebGLRenderingContext.compressedTexImage2D()
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