WEBGL_compressed_texture_pvrtc 扩展
WEBGL_compressed_texture_pvrtc 扩展是 WebGL API 的一部分,它公开了四种 PVRTC 压缩纹理格式。
压缩纹理可减少 GPU 存储纹理所需的内存量,从而允许使用更高分辨率的纹理或更多相同分辨率的纹理。
可以使用 WebGLRenderingContext.getExtension() 方法来访问 WebGL 扩展。有关更多信息,请参阅 WebGL 教程中的 使用扩展。
注意: PVRTC 通常仅在具有 PowerVR 芯片组的移动设备上可用。它被用于历代 iPhone、iPod Touch 和 iPad,并支持使用 PowerVR GPU 的某些 Android 设备。
注意: 在 iOS 设备上,此扩展名为 WEBKIT_WEBGL_compressed_texture_pvrtc。
常量
压缩纹理格式通过四个常量公开,并可用于两个函数:compressedTexImage2D()(此时 height 和 width 参数必须是 2 的幂)和 compressedTexSubImage2D()(此时 height 和 width 参数必须等于现有纹理的当前值,并且 xoffset 和 yoffset 参数必须为 0)。
ext.COMPRESSED_RGB_PVRTC_4BPPV1_IMG-
4 位模式下的 RGB 压缩。每 4×4 像素一个块。
ext.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG-
4 位模式下的 RGBA 压缩。每 4×4 像素一个块。
ext.COMPRESSED_RGB_PVRTC_2BPPV1_IMG-
2 位模式下的 RGB 压缩。每 8×4 像素一个块。
ext.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG-
2 位模式下的 RGBA 压缩。每 8×4 像素一个块。
示例
js
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,
);
规范
| 规范 |
|---|
| WebGL WEBGL_compressed_texture_pvrtc 扩展规范 |
浏览器兼容性
加载中…