WebGL2RenderingContext: метод texSubImage3D()
Базовая Широко поддерживается *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузера. Она доступна во всех браузерах с сентября 2021 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Примечание: Эта функция доступна в Потоках Web Workers.
Метод WebGL2RenderingContext.texSubImage3D() API WebGL определяет подпрямоугольник текущей текстуры.
Синтаксис
texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels) texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, offset) texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData) texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, srcData, srcOffset)
Параметры
target-
Тип
GLenum, определяющий точку привязки (цель) активной текстуры. Возможные значения:-
gl.TEXTURE_3D: Трехмерная текстура. -
gl.TEXTURE_2D_ARRAY: Двумерная текстура массива.
-
level-
Тип
GLint, определяющий уровень детализации. Уровень 0 — это базовый уровень изображения, уровень n — n-й уровень уменьшения мип-карты. xoffset-
Тип
GLint, определяющий смещение по оси x внутри изображения текстуры. yoffset-
Тип
GLint, определяющий смещение по оси y внутри изображения текстуры. zoffset-
Тип
GLint, определяющий смещение по оси z внутри изображения текстуры. width-
Тип
GLsizei, определяющий ширину текстуры. height-
Тип
GLsizei, определяющий высоту текстуры. depth-
Тип
GLsizei, определяющий глубину текстуры. format-
Тип
GLenum, определяющий формат данных пикселей. Возможные значения:-
gl.ALPHA: Отбрасывает компоненты красного, зеленого и синего и читает компонент альфа. -
gl.RGB: Отбрасывает компоненты альфа и читает компоненты красный, зеленый и синий. -
gl.RGBA: Компоненты красный, зеленый, синий и альфа считываются из буфера цвета. -
gl.LUMINANCE: Каждый компонент цвета — это компонент яркости, альфа — 1.0. -
gl.LUMINANCE_ALPHA: Каждый компонент — это компонент яркости/альфа. gl.R8gl.R16Fgl.R32Fgl.R8UIgl.RG8gl.RG16Fgl.RG32Fgl.RGUIgl.RGB8gl.SRGB8gl.RGB565gl.R11F_G11F_B10Fgl.RGB9_E5gl.RGB16Fgl.RGB32Fgl.RGB8UIgl.RGBA8gl.SRGB_ALPHA8gl.RGB5_A1gl.RGBA4444gl.RGBA16Fgl.RGBA32Fgl.RGBA8UI
-
type-
Тип
GLenum, определяющий тип данных данных пикселей. Возможные значения:-
gl.UNSIGNED_BYTE: 8 бит на канал дляgl.RGBA -
gl.UNSIGNED_SHORT_5_6_5: 5 бит красного, 6 бит зеленого, 5 бит синего. -
gl.UNSIGNED_SHORT_4_4_4_4: 4 бита красного, 4 бита зеленого, 4 бита синего, 4 бита альфа. -
gl.UNSIGNED_SHORT_5_5_5_1: 5 бит красного, 5 бит зеленого, 5 бит синего, 1 бит альфа. gl.BYTEgl.UNSIGNED_SHORTgl.SHORTgl.UNSIGNED_INTgl.INTgl.HALF_FLOATgl.FLOATgl.UNSIGNED_INT_2_10_10_10_REVgl.UNSIGNED_INT_10F_11F_11F_REVgl.UNSIGNED_INT_5_9_9_9_REVgl.UNSIGNED_INT_24_8-
gl.FLOAT_32_UNSIGNED_INT_24_8_REV(пиксели должны бытьnull)
-
pixels-
В качестве источника пикселей для текстуры может быть использован один из следующих объектов:
-
Uint8Array(должен использоваться, еслиtypeравноgl.UNSIGNED_BYTE) -
Uint16Array(должен использоваться, еслиtypeравноgl.UNSIGNED_SHORT_5_6_5,gl.UNSIGNED_SHORT_4_4_4_4,gl.UNSIGNED_SHORT_5_5_5_1, илиext.HALF_FLOAT_OES) -
Float32Array(должен использоваться, еслиtypeравноgl.FLOAT) ImageBitmapImageDataHTMLImageElementHTMLCanvasElementHTMLVideoElement
-
srcData-
Объект
TypedArrayилиDataView. offset-
Тип
GLintptr, определяющий байтовое смещение в хранилище данныхWebGLBuffer. Используется для загрузки данных в текущую связаннуюWebGLTextureизWebGLBuffer, связанной с цельюPIXEL_UNPACK_BUFFER.
Возвращаемое значение
Ничего (undefined).
Примеры
gl.texSubImage3D( gl.TEXTURE_3D, 0, 0, 0, 0, image.width, image.height, 1, gl.RGBA, gl.UNSIGNED_BYTE, image, );
Спецификации
| Спецификация |
|---|
| Спецификация WebGL 2.0 # 3.7.6 |
Совместимость с браузерами
| Рабочий стол | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
texSubImage3D |
56 | 79 | 51 | 43 | 15 | 58 | 51 | 43 | 15 | 7.0 | 58 |
srcData_param_accepts_SharedArrayBuffer |
60 | 79 | 79 | 47 | Нет | 60 | 79 | 44 | Нет | 8.0 | 60 |
См. также
© 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/texSubImage3D