WebGLRenderingContext: texSubImage2D() 方法
注意:此功能在 Web Workers 中可用。
texSubImage2D() 是 WebGL API 中 WebGLRenderingContext 介面的一個方法,用於指定紋理影像的二維子矩形。
語法
// WebGL 1:
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, srcData)
texSubImage2D(target, level, xoffset, yoffset, format, type, source)
// Additionally available in WebGL 2:
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, srcData, srcOffset)
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, source)
texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, offset)
引數
目標-
一個
GLenum,指定活動紋理的繫結點(目標)。可能的值有:gl.TEXTURE_2D:一個二維紋理。gl.TEXTURE_CUBE_MAP_POSITIVE_X:立方體貼圖紋理的正 X 面。gl.TEXTURE_CUBE_MAP_NEGATIVE_X:立方體貼圖紋理的負 X 面。gl.TEXTURE_CUBE_MAP_POSITIVE_Y:立方體貼圖紋理的正 Y 面。gl.TEXTURE_CUBE_MAP_NEGATIVE_Y:立方體貼圖紋理的負 Y 面。gl.TEXTURE_CUBE_MAP_POSITIVE_Z:立方體貼圖紋理的正 Z 面。gl.TEXTURE_CUBE_MAP_NEGATIVE_Z:立方體貼圖紋理的負 Z 面。
level-
一個
GLint,指定細節級別。級別 0 是基本影像級別,級別 n 是第 n 個 mipmap 縮減級別。 xoffset-
一個
GLint,指定紋理陣列中寬度為width、高度為height的矩形子區域的左下角紋素 x 座標。 yoffset-
一個
GLint,指定紋理陣列中寬度為width、高度為height的矩形子區域的左下角紋素 y 座標。 width-
一個
GLsizei,指定紋理的寬度(以 texel 為單位)。 height-
一個
GLsizei,指定紋理的高度(以 texel 為單位)。 格式(format)-
一個
GLenum,指定原始紋素資料中每個整數元素應如何解釋為顏色分量。可能的值有:gl.ALPHA: 丟棄紅色、綠色和藍色分量,讀取 alpha 分量。gl.RGB: 丟棄 alpha 分量,讀取紅色、綠色和藍色分量。gl.RGBA: 從顏色緩衝區讀取紅色、綠色、藍色和 alpha 分量。gl.LUMINANCE: 每個顏色分量都是一個亮度分量,alpha 為 1.0。gl.LUMINANCE_ALPHA: 每個分量都是一個亮度/alpha 分量。
使用
EXT_sRGB擴充套件時ext.SRGB_EXText.SRGB_ALPHA_EXT
當使用
WebGL2RenderingContext時,還可以使用以下值:gl.REDgl.RED_INTEGERgl.RGgl.RG_INTEGERgl.RGB_INTEGERgl.RGBA_INTEGERgl.DEPTH_COMPONENTgl.DEPTH_STENCIL
type-
一個
GLenum,指定原始紋素資料中每個整數元素的大小。有關可用的format和type組合,請參閱WebGLRenderingContext.texImage2D()。
紋理源可以透過以下三種方式之一提供:使用 srcData 和 srcOffset 從(可能共享的)ArrayBuffer 獲取;從 DOM 畫素 source 獲取;或者,在 WebGL 2 中,從 gl.PIXEL_UNPACK_BUFFER 使用 offset 獲取。
srcData-
包含壓縮紋理資料的
TypedArray或DataView。其型別必須與type引數匹配;請參閱WebGLRenderingContext.texImage2D()。 srcOffset可選-
(僅限 WebGL 2)一個整數,指定
srcData開始讀取的索引。預設為0。 source-
從 DOM 畫素源讀取,它可以是以下之一:
ImageBitmapImageDataHTMLImageElementHTMLCanvasElementHTMLVideoElementOffscreenCanvasVideoFrame
在 WebGL 1 中,
width和height始終從源推斷。在 WebGL 2 中,也可以顯式指定它們。 offset-
(僅限 WebGL 2)一個
GLintptr,指定繫結到gl.PIXEL_UNPACK_BUFFER的緩衝區中的起始地址。
返回值
無(undefined)。
示例
gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, image);
規範
| 規範 |
|---|
| WebGL 規範 # TEXSUBIMAGE2D |
| WebGL 2.0 規範 # 3.7.6 |
瀏覽器相容性
載入中…
另見
WebGLRenderingContext.createTexture()WebGLRenderingContext.bindTexture()WebGLRenderingContext.texImage2D()WebGLRenderingContext.compressedTexImage2D()WebGLRenderingContext.copyTexImage2D()WebGLRenderingContext.getTexParameter()OES_texture_floatOES_texture_half_floatEXT_sRGBEXT_texture_norm16