WebGL2RenderingContext: texSubImage3D() 方法

Baseline 廣泛可用 *

此功能已成熟,並可在多種裝置和瀏覽器版本上執行。自 2021 年 9 月起,所有瀏覽器均已支援此功能。

* 此特性的某些部分可能存在不同級別的支援。

注意:此功能在 Web Workers 中可用。

WebGL2RenderingContext 介面的 texSubImage3D() 方法(來自 WebGL API)用於指定紋理影像的一個三維子矩形。

語法

js
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)
texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, source)
texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, offset)

引數

目標

一個 GLenum,指定活動紋理的繫結點(目標)。可能的值有:

  • gl.TEXTURE_3D:三維紋理。
  • gl.TEXTURE_2D_ARRAY:二維陣列紋理。
level

一個 GLint,指定細節級別。級別 0 是基本影像級別,級別 n 是第 n 個 mipmap 縮減級別。

xoffset

一個 GLint,指定紋理影像內的 x 偏移量。

yoffset

一個 GLint,指定紋理影像內的 y 偏移量。

zoffset

一個 GLint,指定紋理影像內的 z 偏移量。

width

一個 GLsizei,指定紋理的寬度(以 texel 為單位)。

height

一個 GLsizei,指定紋理的高度(以 texel 為單位)。

depth

一個 GLsizei,指定紋理的深度/TEXTURE_2D_ARRAY 中紋理的數量。

格式(format)

一個 GLenum,指定原始紋素資料中每個整數元素應如何解釋為顏色分量。

type

一個 GLenum,指定原始紋素資料中每個整數元素的大小。有關 `format` 和 `type` 的可用組合,請參閱 WebGLRenderingContext.texSubImage2D()

紋理源可以透過三種方式之一提供:使用 `srcData` 和 `srcOffset` 從(可能共享的)ArrayBuffer 提供;從 DOM 畫素 `source` 提供;或使用 `offset` 從 `gl.PIXEL_UNPACK_BUFFER` 提供。

srcData

包含壓縮紋理資料的 TypedArrayDataView。其型別必須與 `type` 引數匹配;請參閱 WebGLRenderingContext.texImage2D()

srcOffset 可選

一個指定從 `srcData` 開始讀取的索引的整數。預設為 `0`。

source

從 DOM 畫素源讀取,它可以是以下之一:

offset

一個 GLintptr,指定繫結到 `gl.PIXEL_UNPACK_BUFFER` 的緩衝區中的起始地址。

返回值

無(undefined)。

示例

js
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

瀏覽器相容性

另見