Spec-Zone.ru › Web APIs

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_ARRAY
  • gl.TEXTURE_3D
level

Значение GLint, определяющее уровень детализации. Уровень 0 — это базовое изображение, а уровень n — n-ый уровень мип-мап-редукции.

internalformat

Значение GLenum, определяющее формат сжатого изображения. Форматы сжатых изображений должны быть включены с помощью расширений WebGL перед использованием этого метода. См. форматы сжатых текстур, которые действительны для compressedTexImage3D. Возможные значения:

  • При использовании расширения WEBGL_compressed_texture_s3tc:

    • ext.COMPRESSED_RGB_S3TC_DXT1_EXT
    • ext.COMPRESSED_RGBA_S3TC_DXT1_EXT
    • ext.COMPRESSED_RGBA_S3TC_DXT3_EXT
    • ext.COMPRESSED_RGBA_S3TC_DXT5_EXT
  • При использовании расширения WEBGL_compressed_texture_s3tc_srgb:

    • 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
  • При использовании расширения WEBGL_compressed_texture_etc:

    • 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
  • При использовании расширения WEBGL_compressed_texture_pvrtc:

    • ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
    • ext.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
    • ext.COMPRESSED_RGB_PVRTC_2BPPV1_IMG
    • ext.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_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_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
  • При использовании расширения EXT_texture_compression_bptc:

    • 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
  • При использовании расширения EXT_texture_compression_rgtc:

    • ext.COMPRESSED_RED_RGTC1_EXT
    • ext.COMPRESSED_SIGNED_RED_RGTC1_EXT
    • ext.COMPRESSED_RED_GREEN_RGTC2_EXT
    • ext.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_s3tc
  • WEBGL_compressed_texture_s3tc_srgb
  • WEBGL_compressed_texture_etc
  • WEBGL_compressed_texture_pvrtc
  • WEBGL_compressed_texture_etc1
  • WEBGL_compressed_texture_astc
  • EXT_texture_compression_bptc
  • EXT_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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API