WebGLRenderingContext: compressedTexSubImage2D() 方法
注意:此功能在 Web Workers 中可用。
compressedTexSubImage2D() 方法是 WebGL API 的 WebGLRenderingContext 介面的一部分,用於在壓縮格式下指定紋理影像的二維子矩形。
壓縮影像格式僅可透過 WebGL2RenderingContext 或某些 WebGL 擴充套件 獲得。
語法
// WebGL 1:
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData)
// Additionally available in WebGL 2:
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData, srcOffset)
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, srcData, srcOffset, srcLengthOverride)
compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, 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,指定壓縮紋理影像中的水平偏移量。 yoffset-
一個
GLint,指定壓縮紋理影像中的垂直偏移量。 width-
一個
GLsizei,指定壓縮紋理的寬度。 height-
一個
GLsizei,指定壓縮紋理的高度。 格式(format)-
一個
GLenum,指定壓縮影像格式。可能值的列表,請參閱WebGLRenderingContext.compressedTexImage2D()。
紋理源可以透過兩種方式提供:使用 srcData、srcOffset 和 srcLengthOverride 從 ArrayBuffer(可能共享)提供;或者,在 WebGL 2 中,從 gl.PIXEL_UNPACK_BUFFER 使用 imageSize 和 offset 提供。
srcData-
一個包含壓縮紋理資料的
TypedArray或DataView。 srcOffset可選-
(僅限 WebGL 2)一個整數,指定
srcData開始讀取的索引。預設為0。 srcLengthOverride可選-
(僅限 WebGL 2) 一個整數,指定
srcData中要讀取的元素數量。預設為srcData.length - srcOffset。 imageSize-
(僅限 WebGL 2) 一個
GLsizei,指定影像資料的大小(以位元組為單位)。 offset-
(僅限 WebGL 2)一個
GLintptr,指定繫結到gl.PIXEL_UNPACK_BUFFER的緩衝區中的起始地址。
返回值
無(undefined)。
示例
const ext =
gl.getExtension("WEBGL_compressed_texture_s3tc") ||
gl.getExtension("MOZ_WEBGL_compressed_texture_s3tc") ||
gl.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");
gl.compressedTexSubImage2D(
gl.TEXTURE_2D,
0,
256,
256,
512,
512,
ext.COMPRESSED_RGBA_S3TC_DXT5_EXT,
textureData,
);
規範
| 規範 |
|---|
| WebGL 規範 # COMPRESSEDTEXSUBIMAGE2D |
瀏覽器相容性
載入中…
另見
- 使用 WebGL 擴充套件
WebGLRenderingContext.getExtension()WebGLRenderingContext.compressedTexImage2D()WebGL2RenderingContext.compressedTexSubImage3D()WebGL2RenderingContext.compressedTexImage3D()WEBGL_compressed_texture_s3tcWEBGL_compressed_texture_s3tc_srgbWEBGL_compressed_texture_etcWEBGL_compressed_texture_pvrtcWEBGL_compressed_texture_astcEXT_texture_compression_bptcEXT_texture_compression_rgtc