Tiện ích WEBGL_compressed_texture_pvrtc
Khả dụng hạn chế
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Tiện ích WEBGL_compressed_texture_pvrtc là một phần của WebGL API và cung cấp bốn định dạng texture nén PVRTC.
Texture nén giúp giảm dung lượng bộ nhớ cần thiết để lưu trữ texture trên GPU, cho phép sử dụng texture có độ phân giải cao hơn hoặc nhiều texture hơn với cùng độ phân giải.
Các tiện ích WebGL có thể dùng bằng phương thức WebGLRenderingContext.getExtension(). Để biết thêm thông tin, xem Using Extensions trong hướng dẫn WebGL.
Note: PVRTC thường chỉ khả dụng trên các thiết bị di động có chipset PowerVR. Được dùng trên tất cả thế hệ iPhone, iPod Touch và iPad, và được hỗ trợ trên một số thiết bị Android dùng GPU PowerVR.
Note:
Trên các thiết bị iOS, tiện ích này có tên WEBKIT_WEBGL_compressed_texture_pvrtc.
Hằng số
Các định dạng texture nén được cung cấp bởi bốn hằng số và có thể được dùng trong hai hàm: compressedTexImage2D() (trong đó tham số height và width phải là lũy thừa của 2) và compressedTexSubImage2D() (trong đó tham số chiều cao và rộng phải bằng giá trị hiện tại của texture đang tồn tại và tham số xoffset và yoffset phải là 0).
ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMG-
Nén RGB ở chế độ 4-bit. Một khối cho mỗi 4×4 pixel.
ext.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG-
Nén RGBA ở chế độ 4-bit. Một khối cho mỗi 4×4 pixel.
ext.COMPRESSED_RGB_PVRTC_2BPPV1_IMG-
Nén RGB ở chế độ 2-bit. Một khối cho mỗi 8×4 pixel.
ext.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG-
Nén RGBA ở chế độ 2-bit. Một khối cho mỗi 8×4 pixel.
Ví dụ
const ext = gl.getExtension("WEBGL_compressed_texture_pvrtc");
const texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.compressedTexImage2D(
gl.TEXTURE_2D,
0,
ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,
512,
512,
0,
textureData,
);
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| WebGL WEBGL_compressed_texture_pvrtc Extension Specification> |