WebGL2RenderingContext:texImage3D() 方法
Baseline 广泛可用 *
注意:此功能在 Web Workers 中可用。
WebGL2RenderingContext 接口的 texImage3D() 方法,属于 WebGL API,用于指定一个三维纹理图像。
语法
texImage3D(target, level, internalformat, width, height, depth, border, format, type, srcData)
texImage3D(target, level, internalformat, width, height, depth, border, format, type, srcData, srcOffset)
texImage3D(target, level, internalformat, width, height, depth, border, format, type, source)
texImage3D(target, level, internalformat, width, height, depth, border, format, type, offset)
参数
目标-
一个
GLenum,指定活动纹理的绑定点(目标)。可能的值有:gl.TEXTURE_3D:三维纹理。gl.TEXTURE_2D_ARRAY:二维数组纹理。
level-
一个
GLint,指定细节级别。级别 0 是基本图像级别,级别 n 是第 n 个 mipmap 缩减级别。 internalformat-
一个
GLenum,指定纹理加载后应如何存储。 width-
一个
GLsizei,指定纹理的宽度(以 texel 为单位)。 height-
一个
GLsizei,指定纹理的高度(以 texel 为单位)。 depth-
一个
GLsizei,指定纹理的深度/TEXTURE_2D_ARRAY中纹理的数量。 border-
一个
GLint,指定边框的宽度。必须为 0。 格式(format)-
一个
GLenum,指定原始纹素数据中每个整数元素应如何解释为颜色分量。 type-
一个
GLenum,指定原始纹素数据中每个整数元素的大小。internalformat、format和type值必须相互兼容。所有有效组合请参见WebGLRenderingContext.texImage2D()。
纹理源可以通过以下三种方式之一提供:使用 srcData 和 srcOffset 从 ArrayBuffer(可能已共享)提供;从 DOM 像素 source 提供;或者使用 offset 从 gl.PIXEL_UNPACK_BUFFER 提供。
srcData-
一个
TypedArray或DataView,包含压缩后的纹理数据。其类型必须与type参数匹配;请参见WebGLRenderingContext.texImage2D()。当type是FLOAT_32_UNSIGNED_INT_24_8_REV时,srcData必须是null。 srcOffset可选-
一个指定从 `srcData` 开始读取的索引的整数。默认为 `0`。
source-
从 DOM 像素源读取,它可以是以下之一:
offset-
一个
GLintptr,指定绑定到 `gl.PIXEL_UNPACK_BUFFER` 的缓冲区中的起始地址。
返回值
无(undefined)。
示例
gl.texImage3D(
gl.TEXTURE_3D,
0, // level
gl.RGBA, // internalFormat
1, // width
1, // height
1, // depth
0, // border
gl.RGBA, // format
gl.UNSIGNED_BYTE, // type
new Uint8Array([0xff, 0x00, 0x00, 0x00]),
); // data
规范
| 规范 |
|---|
| WebGL 2.0 规范 # 3.7.6 |
浏览器兼容性
加载中…
另见
WebGLRenderingContext.createTexture()WebGLRenderingContext.bindTexture()WebGL2RenderingContext.texSubImage3D()WebGL2RenderingContext.compressedTexImage3D()WebGL2RenderingContext.copyTexSubImage3D()WebGLRenderingContext.getTexParameter()WEBGL_depth_textureOES_texture_floatOES_texture_half_floatEXT_texture_norm16EXT_sRGB