WebGLRenderingContext: метод compressedTexSubImage2D()
Базовая Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.
Примечание: Эта функция доступна в Web Workers.
Метод WebGLRenderingContext.compressedTexSubImage2D() API WebGL определяет двумерный подпрямоугольник для изображения текстуры в сжатом формате.
Форматы сжатых изображений должны быть включены с помощью расширений WebGL перед использованием этого метода или должен быть использован WebGL2RenderingContext.
Синтаксис
// 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)
Параметры
target-
Значение
GLenum, определяющее точку привязки (цель) активной текстуры в сжатом формате. Возможные значения:-
gl.TEXTURE_2D: Двумерная текстура. -
gl.TEXTURE_CUBE_MAP_POSITIVE_X: Положительная X грань для текстуры в формате куба. -
gl.TEXTURE_CUBE_MAP_NEGATIVE_X: Отрицательная X грань для текстуры в формате куба. -
gl.TEXTURE_CUBE_MAP_POSITIVE_Y: Положительная Y грань для текстуры в формате куба. -
gl.TEXTURE_CUBE_MAP_NEGATIVE_Y: Отрицательная Y грань для текстуры в формате куба. -
gl.TEXTURE_CUBE_MAP_POSITIVE_Z: Положительная Z грань для текстуры в формате куба. -
gl.TEXTURE_CUBE_MAP_NEGATIVE_Z: Отрицательная Z грань для текстуры в формате куба.
-
level-
Значение
GLint, определяющее уровень детализации. Уровень 0 — это базовое изображение, а уровень n — n-й уровень мип-мап-редукции. xoffset-
Значение
GLint, определяющее горизонтальное смещение внутри изображения текстуры в сжатом формате. yoffset-
Значение
GLint, определяющее вертикальное смещение внутри изображения текстуры в сжатом формате. width-
Значение
GLsizei, определяющее ширину текстуры в сжатом формате. height-
Значение
GLsizei, определяющее высоту текстуры в сжатом формате. format-
Значение
GLenum, определяющее формат сжатого изображения. Форматы сжатых изображений должны быть включены с помощью расширений WebGL перед использованием этого метода. Возможные значения:-
При использовании расширения
WEBGL_compressed_texture_s3tc:ext.COMPRESSED_RGB_S3TC_DXT1_EXText.COMPRESSED_RGBA_S3TC_DXT1_EXText.COMPRESSED_RGBA_S3TC_DXT3_EXText.COMPRESSED_RGBA_S3TC_DXT5_EXT
-
При использовании расширения
WEBGL_compressed_texture_s3tc_srgb:ext.COMPRESSED_SRGB_S3TC_DXT1_EXText.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXText.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXText.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
-
При использовании расширения
WEBGL_compressed_texture_etc:ext.COMPRESSED_R11_EACext.COMPRESSED_SIGNED_R11_EACext.COMPRESSED_RG11_EACext.COMPRESSED_SIGNED_RG11_EACext.COMPRESSED_RGB8_ETC2ext.COMPRESSED_RGBA8_ETC2_EACext.COMPRESSED_SRGB8_ETC2ext.COMPRESSED_SRGB8_ALPHA8_ETC2_EACext.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2ext.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
-
При использовании расширения
WEBGL_compressed_texture_pvrtc:ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMGext.COMPRESSED_RGBA_PVRTC_4BPPV1_IMGext.COMPRESSED_RGB_PVRTC_2BPPV1_IMGext.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG
-
При использовании расширения
WEBGL_compressed_texture_astc:ext.COMPRESSED_RGBA_ASTC_4x4_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHRext.COMPRESSED_RGBA_ASTC_5x4_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHRext.COMPRESSED_RGBA_ASTC_5x5_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHRext.COMPRESSED_RGBA_ASTC_6x5_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHRext.COMPRESSED_RGBA_ASTC_6x6_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHRext.COMPRESSED_RGBA_ASTC_8x5_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHRext.COMPRESSED_RGBA_ASTC_8x6_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHRext.COMPRESSED_RGBA_ASTC_8x8_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHRext.COMPRESSED_RGBA_ASTC_10x5_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHRext.COMPRESSED_RGBA_ASTC_10x6_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHRext.COMPRESSED_RGBA_ASTC_10x6_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHRext.COMPRESSED_RGBA_ASTC_10x10_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHRext.COMPRESSED_RGBA_ASTC_12x10_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHRext.COMPRESSED_RGBA_ASTC_12x12_KHR ext.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR
-
При использовании расширения
EXT_texture_compression_bptc:ext.COMPRESSED_RGBA_BPTC_UNORM_EXText.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXText.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXText.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT
-
При использовании расширения
EXT_texture_compression_rgtc:ext.COMPRESSED_RED_RGTC1_EXText.COMPRESSED_SIGNED_RED_RGTC1_EXText.COMPRESSED_RED_GREEN_RGTC2_EXText.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT
-
imageSize-
Значение
GLsizei, определяющее количество байтов для чтения из буфера, привязанного кgl.PIXEL_UNPACK_BUFFER. offset-
Значение
GLintptr, определяющее смещение в байтах для чтения из буфера, привязанного кgl.PIXEL_UNPACK_BUFFER. srcData-
TypedArrayилиDataViewдля хранения данных сжатого изображения в памяти.
Возвращаемое значение
Ничего (undefined).
Примеры
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,
);
Спецификации
| Спецификация |
|---|
| Спецификация WebGL # COMPRESSEDTEXSUBIMAGE2D |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
compressedTexSubImage2D |
9 | 12 | 4 | 12 | 5.1 | 25 | 4 | 12 | 8 | 1.5 | 4.4.3 |
См. также
- Использование расширений WebGL
WebGLRenderingContext.getExtension()WebGLRenderingContext.compressedTexImage2D()WEBGL_compressed_texture_s3tcWEBGL_compressed_texture_s3tc_srgbWEBGL_compressed_texture_etcWEBGL_compressed_texture_pvrtcWEBGL_compressed_texture_astcEXT_texture_compression_bptcEXT_texture_compression_rgtc
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/compressedTexSubImage2D