文章目录 1. WebGL 中的纹理 1.1. 创建二维纹理与设置采样参数 1.2. 纹理数据写入与拷贝 1.3. 着色器中的纹理 1.4. 纹理对象 vs 渲染缓冲对象 1.5. 立方体六面纹理 1.6. WebGL 2.0 的变化 1.7. Mipmapping 技术 2. WebGPU 中的纹理 2.1. GPUTexture 的创建 2.2. 纹理数据写入与拷贝 2.3. 纹理视图 2.4. 着色器中的纹理与采样器 2.5. WebGPU 中的 Mipmapping 3. 纹理压缩编码算法 4. 总结 参考资料 图形编程中的纹理,是一个很大的话题,涉及到的知识面非常多,有硬件的,也有软件的,有实时渲染技术,也有标准的实现等非常多可以讨论的。 受制于个人学识浅薄,本文只能浅表性地列举 WebGL 和 WebGPU 中它们创建、数据传递和着色器中大致的用法,格式差异,顺便捞一捞压缩纹理的资料。 1. WebGL 中的纹理 1.1. 创建二维纹理与设置采样参数 创建纹理对象 texture,并将其绑定: const texture = gl.createTexture() gl.bindTexture