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: Dieses Feature ist verfügbar in Web Workers.
Die WebGLRenderingContext.compressedTexSubImage2D()
-Methode der WebGL API legt ein zweidimensionales Unterrechteck für ein Texturbild in einem komprimierten Format fest.
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
, 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
, der das Detailniveau angibt. Level 0 ist das Basisebenenbild und Level n ist das n-te Mipmap-Reduktionslevel. xoffset
-
Ein
GLint
, das den horizontalen Versatz innerhalb des komprimierten Texturbildes angibt. yoffset
-
Ein
GLint
, das 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 Offset in Bytes angibt, ab dem aus dem angl.PIXEL_UNPACK_BUFFER
gebundenen Puffer gelesen werden soll. srcData
-
Ein
TypedArray
oder einDataView
, der 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
BCD tables only load in the browser
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