WebGL2RenderingContext: phương thức compressedTexSubImage3D()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Note: This feature is available in Web Workers.

Phương thức compressedTexSubImage3D() của giao diện WebGL2RenderingContext trong WebGL API chỉ định một hình chữ nhật con ba chiều cho ảnh texture ở định dạng nén.

Các định dạng ảnh nén chỉ có sẵn thông qua một số phần mở rộng WebGL.

Cú pháp

js
compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, offset)

compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, srcData)
compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, srcData, srcOffset)
compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, srcData, srcOffset, srcLengthOverride)

Tham số

target

Một GLenum chỉ định điểm liên kết (target) của texture nén đang hoạt động. Các giá trị có thể:

  • gl.TEXTURE_3D: Texture ba chiều.
  • gl.TEXTURE_2D_ARRAY: Texture mảng hai chiều.
level

Một GLint chỉ định mức chi tiết. Mức 0 là mức hình ảnh cơ sở và mức n là mức giảm mipmap thứ n.

xoffset

Một GLint chỉ định offset x trong ảnh texture nén.

yoffset

Một GLint chỉ định offset y trong ảnh texture nén.

zoffset

Một GLint chỉ định offset z trong ảnh texture nén.

width

Một GLsizei chỉ định chiều rộng của texture nén tính bằng texel.

height

Một GLsizei chỉ định chiều cao của texture nén tính bằng texel.

depth

Một GLsizei chỉ định chiều sâu của texture/số lượng texture trong một TEXTURE_2D_ARRAY.

format

Một GLenum chỉ định định dạng ảnh nén. Để biết danh sách các giá trị có thể, xem WebGLRenderingContext.compressedTexImage2D().

Nguồn texture có thể được cung cấp theo một trong hai cách: từ một ArrayBuffer (có thể chia sẻ) bằng cách sử dụng srcData, srcOffsetsrcLengthOverride; hoặc, trong WebGL 2, từ gl.PIXEL_UNPACK_BUFFER bằng cách sử dụng imageSizeoffset.

srcData

Một TypedArray hoặc DataView chứa dữ liệu texture nén.

srcOffset Optional

Một số nguyên chỉ định chỉ mục của srcData để bắt đầu đọc. Mặc định là 0.

srcLengthOverride Optional

Một số nguyên chỉ định số phần tử trong srcData để đọc. Mặc định là srcData.length - srcOffset.

imageSize

Một GLsizei chỉ định kích thước của dữ liệu ảnh tính bằng byte.

offset

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ề

None (undefined).

Ví dụ

js
gl.compressedTexSubImage3D(
  gl.TEXTURE_3D,
  0,
  0,
  0,
  512,
  512,
  512,
  gl.COMPRESSED_R11_EAC,
  textureData,
);

Đặc tả kỹ thuật

Thông số kỹ thuật
WebGL 2.0 Specification
# 3.7.6

Tương thích trình duyệt

Xem thêm