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