WebGL2RenderingContext: метод compressedTexImage3D()
Базовая Широко поддерживается *
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с сентября 2021 года.
* Некоторые части этой функции могут иметь разную степень поддержки.
Примечание: Эта функция доступна в Web Workers.
Метод compressedTexImage3D() интерфейса WebGL2RenderingContext API WebGL задаёт трёхмерное текстурное изображение в сжатом формате.
Форматы сжатых изображений должны быть включены с помощью расширений WebGL перед использованием этих методов.
Синтаксис
// read from buffer bound to gl.PIXEL_UNPACK_BUFFER compressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, offset) compressedTexImage3D(target, level, internalformat, width, height, depth, border, srcData) compressedTexImage3D(target, level, internalformat, width, height, depth, border, srcData, srcOffset) compressedTexImage3D(target, level, internalformat, width, height, depth, border, srcData, srcOffset, srcLengthOverride)
Параметры
target-
Значение
GLenum, определяющее точку привязки (target) активной текстуры. Возможные значения дляcompressedTexImage3D:gl.TEXTURE_2D_ARRAYgl.TEXTURE_3D
level-
Значение
GLint, определяющее уровень детализации. Уровень 0 — это базовое изображение, а уровень n — n-ый уровень мип-мап-редукции. internalformat-
Значение
GLenum, определяющее формат сжатого изображения. Форматы сжатых изображений должны быть включены с помощью расширений WebGL перед использованием этого метода. См. форматы сжатых текстур, которые действительны дляcompressedTexImage3D. Возможные значения:-
При использовании расширения
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_etc1:ext.COMPRESSED_RGB_ETC1_WEBGL
-
При использовании расширения
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_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
-
width-
Значение
GLsizei, определяющее ширину текстуры. height-
Значение
GLsizei, определяющее высоту текстуры. depth-
Значение
GLsizei, определяющее глубину текстуры/количество текстур вTEXTURE_2D_ARRAY. border-
Значение
GLint, определяющее ширину границы. Должно быть 0. imageSize-
Значение
GLsizei, определяющее количество байтов для чтения из буфера, привязанного кgl.PIXEL_UNPACK_BUFFER. offset-
Значение
GLintptr, определяющее смещение в байтах для чтения из буфера, привязанного кgl.PIXEL_UNPACK_BUFFER.
Возвращаемое значение
None (undefined).
Спецификации
| Спецификация |
|---|
| Спецификация WebGL 2.0 # 3.7.6 |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
compressedTexImage3D |
56 | 79 | 51 | 43 | 15 | 58 | 51 | 43 | 15 | 7.0 | 58 |
pixels_param_accepts_SharedArrayBuffer |
60 | 79 | 79 | 47 | Нет | 60 | 79 | 44 | Нет | 8.0 | 60 |
См. также
- Использование расширений WebGL
WebGL2RenderingContext.compressedTexSubImage3D()WebGLRenderingContext.compressedTexSubImage2D()WebGLRenderingContext.compressedTexImage2D()WEBGL_compressed_texture_s3tcWEBGL_compressed_texture_s3tc_srgbWEBGL_compressed_texture_etcWEBGL_compressed_texture_pvrtcWEBGL_compressed_texture_etc1WEBGL_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/WebGL2RenderingContext/compressedTexImage3D