EXT_texture_compression_bptc extension

Khả dụng hạn chế

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Phần mở rộng EXT_texture_compression_bptc là một phần của WebGL API và cung cấp 4 định dạng texture nén BPTC. Các định dạng nén này được gọi là BC7BC6H trong DirectX API của Microsoft.

Các phần mở rộng WebGL có sẵn bằng cách sử dụng phương thức WebGLRenderingContext.getExtension().

Note: Hỗ trợ phụ thuộc vào driver đồ họa của hệ thống. Không có hỗ trợ trên Windows.

Phần mở rộng này có sẵn cho cả ngữ cảnh WebGL1WebGL2.

Hằng số

Các định dạng texture nén được cung cấp bởi 4 hằng số và có thể được sử dụng trong hai hàm: compressedTexImage2D()compressedTexSubImage2D().

  • ext.COMPRESSED_RGBA_BPTC_UNORM_EXT: Nén dữ liệu cố định 8-bit. Mỗi khối 4x4 texels gồm 128 bit dữ liệu RGBA hoặc ảnh. Xem thêm định dạng BC7.
  • ext.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT: Nén dữ liệu cố định 8-bit. Mỗi khối 4x4 texels gồm 128 bit dữ liệu SRGB_ALPHA hoặc ảnh. Xem thêm định dạng BC7.
  • ext.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT: Nén các giá trị dấu phẩy động có dấu dải động cao. Mỗi khối 4x4 texels gồm 128 bit dữ liệu RGB. Chỉ chứa dữ liệu RGB, vì vậy giá trị alpha trả về là 1.0. Xem thêm định dạng BC6H.
  • ext.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT: Nén các giá trị dấu phẩy động không dấu dải động cao. Mỗi khối 4x4 texels gồm 128 bit dữ liệu RGB. Chỉ chứa dữ liệu RGB, vì vậy giá trị alpha trả về là 1.0. Xem thêm định dạng BC6H.

Ví dụ

js
const ext = gl.getExtension("EXT_texture_compression_bptc");

const texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);

gl.compressedTexImage2D(
  gl.TEXTURE_2D,
  0,
  ext.COMPRESSED_RGBA_BPTC_UNORM_EXT,
  128,
  128,
  0,
  textureData,
);

Thông số kỹ thuật

Thông số kỹ thuật
WebGL EXT_texture_compression_bptc Extension Specification

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

Xem thêm