WebGLRenderingContext: compressedTexSubImage2D() method
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Note: This feature is available in Web Workers.
Phương thức compressedTexSubImage2D() của giao diện WebGLRenderingContext của WebGL API chỉ định một hình chữ nhật phụ hai chiều cho một hình ảnh kết cấu ở định dạng nén.
Các định dạng ảnh nén chỉ có sẵn thông qua WebGL2RenderingContext hoặc một số Phần mở rộng WebGL.
Cú pháp
// 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)
Thông số
target-
Một
GLenumchỉ định điểm liên kết (đích) của kết cấu nén hoạt động. Các giá trị có thể:gl.TEXTURE_2D: Một kết cấu hai chiều.gl.TEXTURE_CUBE_MAP_POSITIVE_X: Mặt X dương cho kết cấu dạng khối lập phương.gl.TEXTURE_CUBE_MAP_NEGATIVE_X: Mặt X âm cho kết cấu được ánh xạ hình khối.gl.TEXTURE_CUBE_MAP_POSITIVE_Y: Mặt Y dương cho kết cấu dạng khối lập phương.gl.TEXTURE_CUBE_MAP_NEGATIVE_Y: Mặt Y âm cho kết cấu được ánh xạ hình khối.gl.TEXTURE_CUBE_MAP_POSITIVE_Z: Mặt Z dương cho kết cấu dạng khối lập phương.gl.TEXTURE_CUBE_MAP_NEGATIVE_Z: Mặt Z âm cho kết cấu dạng khối lập phương.
level-
A
GLintxác định mức độ chi tiết. Cấp 0 là cấp độ hình ảnh cơ sở và cấp độ n là cấp độ giảm mipmap thứ n. xoffset-
A
GLintchỉ định độ lệch ngang trong ảnh kết cấu được nén. yoffset-
Một
GLintchỉ định độ lệch dọc trong ảnh kết cấu được nén. width-
A
GLsizeichỉ định chiều rộng của kết cấu được nén. height-
A
GLsizeichỉ định chiều cao của kết cấu được nén. format-
A
GLenumchỉ định định dạng ảnh nén. Để biết danh sách các giá trị có thể, hãy xemWebGLRenderingContext.compressedTexImage2D().
Nguồn kết cấu có thể được cung cấp theo một trong hai cách: từ ArrayBuffer (có thể được chia sẻ) sử dụng srcData, srcOffset, và srcLengthOverride; hoặc, trong WebGL 2, từ gl.PIXEL_UNPACK_BUFFER sử dụng imageSize và offset.
srcData-
Một
TypedArrayhoặcDataViewchứa dữ liệu kết cấu được nén. srcOffsetOptional-
(chỉ WebGL 2) Một số nguyên xác định chỉ số của
srcDatađể bắt đầu đọc từ đó. Mặc định là0. srcLengthOverrideOptional-
(chỉ WebGL 2) Một số nguyên xác định số phần tử trong
srcDatacần đọc. Mặc định làsrcData.length - srcOffset. imageSize-
(chỉ WebGL 2) Một
GLsizeixác định kích thước của dữ liệu hình ảnh theo byte. offset-
(chỉ WebGL 2) Một
GLintptrchỉ định địa chỉ bắt đầu trong bộ đệm được liên kết vớigl.PIXEL_UNPACK_BUFFER.
Giá trị trả về
Không có (undefined).
Ví dụ
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,
);
Thông số kỹ thuật
| Specification |
|---|
| WebGL Specification> # COMPRESSEDTEXSUBIMAGE2D> |
Khả năng tương thích của trình duyệt
Xem thêm
- Sử dụng tiện ích mở rộng 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