WebGL2RenderingContext: texSubImage3D() 方法
Baseline 广泛可用 *
注意:此功能在 Web Workers 中可用。
WebGL2RenderingContext 接口的 texSubImage3D() 方法(来自 WebGL API)用于指定纹理图像的一个三维子矩形。
语法
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-
包含压缩纹理数据的
TypedArray或DataView。其类型必须与 `type` 参数匹配;请参阅WebGLRenderingContext.texImage2D()。 srcOffset可选-
一个指定从 `srcData` 开始读取的索引的整数。默认为 `0`。
source-
从 DOM 像素源读取,它可以是以下之一:
offset-
一个
GLintptr,指定绑定到 `gl.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 |
浏览器兼容性
加载中…
另见
WebGLRenderingContext.createTexture()WebGLRenderingContext.bindTexture()WebGL2RenderingContext.texImage3D()WebGL2RenderingContext.compressedTexImage3D()WebGL2RenderingContext.copyTexSubImage3D()WebGLRenderingContext.getTexParameter()OES_texture_floatOES_texture_half_floatEXT_sRGBEXT_texture_norm16