Spec-Zone.ru › Web APIs

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_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_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_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
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_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

© 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

Spec-Zone.ru

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