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

js
// 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 GLenum chỉ đị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 GLint xá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 GLint chỉ định độ lệch ngang trong ảnh kết cấu được nén.

yoffset

Một GLint chỉ định độ lệch dọc trong ảnh kết cấu được nén.

width

A GLsizei chỉ định chiều rộng của kết cấu được nén.

height

A GLsizei chỉ định chiều cao của kết cấu được nén.

format

A GLenum chỉ định định dạng ảnh nén. Để biết danh sách các giá trị có thể, hãy xem WebGLRenderingContext.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 imageSizeoffset.

srcData

Một TypedArray hoặc DataView chứa dữ liệu kết cấu được nén.

srcOffset Optional

(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.

srcLengthOverride Optional

(chỉ WebGL 2) Một số nguyên xác định số phần tử trong srcData cần đọc. Mặc định là srcData.length - srcOffset.

imageSize

(chỉ WebGL 2) Một GLsizei xác định kích thước của dữ liệu hình ảnh theo byte.

offset

(chỉ WebGL 2) Một GLintptr chỉ định địa chỉ bắt đầu trong bộ đệm được liên kết với gl.PIXEL_UNPACK_BUFFER.

Giá trị trả về

Không có (undefined).

Ví dụ

js
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